一个小小的经验:别安装google的mod_pagespeed。

Linux VPS 支持
回复
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

一个小小的经验:别安装google的mod_pagespeed。

#1

帖子 cnkilior » 2010-11-05 23:57

这个apache2模块的确能够加速网页访问速度,不然的话,为什么godaddy.com也在用。

但是好东西不一定适合我们vps。

首先,我们这些个小站根本没有这么多流量的。
其次,我们根本没有那么多内存。

所以不要用来。

--------下面说说我用时出现的问题,以及分析------
上班的时候看见这个东西的,装上去了。
下班回家的时候,准备维护一下。发现登录过了半个小时后,发现bash没办法fork任何进程。包括执行部分内置命令。

表现是:

代码: 全选

free -m
-bash: fork: Cannot allocate memory
内存不足,所以我只好在面板上重启服务器了。

我今天只安装了这个模块,所以基本上能确定是这个问题了。

在卸载这个模块的时候,发现这个模块有个缓存文件夹,里面缓存了不少内容。

所以我猜想,可能采取了冷热两种缓存模式,热缓存在内存中,冷缓存在磁盘。而我在维护的时候,做了较多的访问,所以服务器的内存就被吃掉了。

系统只好重启了。
头像
pityonline
帖子: 3864
注册时间: 2008-12-09 12:44
来自: 北京
联系:

Re: 一个小小的经验:别安装google的mod_pagespeed。

#2

帖子 pityonline » 2010-11-06 0:05

我用的 nginx,所以没考虑……
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 一个小小的经验:别安装google的mod_pagespeed。

#3

帖子 cnkilior » 2010-11-06 0:24

不知pity,你的nginx是线程服务器还是进程服务器?

每个进程多少内存?
头像
pityonline
帖子: 3864
注册时间: 2008-12-09 12:44
来自: 北京
联系:

Re: 一个小小的经验:别安装google的mod_pagespeed。

#4

帖子 pityonline » 2010-11-06 1:30

我不清楚线程服务器或进程服务器是啥东东,这是我 vps 上的一些信息。

代码: 全选

$ top|grep nginx
31754 www-data  18   0  5300 1904  908 S  0.3  0.4   9:15.28 nginx
31750 www-data  15   0  5320 2028  908 S  0.3  0.4   9:16.46 nginx
31753 www-data  15   0  5304 1908  908 S  0.3  0.4   9:08.10 nginx
31751 www-data  18   0  5304 1884  908 S  0.3  0.4   9:18.83 nginx 

代码: 全选

$ ps -elf|grep nginx
0 S pity     26530  3137  0  75   0 -   812 pipe_w 01:13 pts/1    00:00:00 grep nginx
5 S root     31749     1  0  78   0 -  1217 rt_sig Sep22 ?        00:00:00 nginx: master process /usr/sbin/nginx
5 S www-data 31750 31749  0  75   0 -  1330 stext  Sep22 ?        00:09:16 nginx: worker process
5 S www-data 31751 31749  0  75   0 -  1326 stext  Sep22 ?        00:09:18 nginx: worker process
5 S www-data 31752 31749  0  75   0 -  1331 stext  Sep22 ?        00:09:25 nginx: worker process
5 S www-data 31753 31749  0  75   0 -  1326 stext  Sep22 ?        00:09:08 nginx: worker process
5 S www-data 31754 31749  0  75   0 -  1325 stext  Sep22 ?        00:09:15 nginx: worker process

代码: 全选

top|grep cgi
top - 01:15:11 up 44 days,  4:06,  1 user,  load average: 0.03, 0.01, 0.00
11318 www-data  18   0 58132  29m 5036 S  0.0  5.8   1:22.59 php-cgi                                
11543 www-data  16   0 57044  28m 4852 S  0.0  5.6   1:42.81 php-cgi                                
19837 www-data  16   0 55984  27m 4780 S  0.0  5.4   1:58.32 php-cgi                                
27721 www-data  16   0 42632  14m 5108 S  0.0  2.9   1:57.62 php-cgi                                
27722 www-data  16   0 53408  25m 4848 S  0.0  4.9   1:51.31 php-cgi

代码: 全选

$ ps -elf|grep cgi
0 S pity      7644  3137  0  75   0 -   812 pipe_w 01:15 pts/1    00:00:00 grep cgi
1 S www-data 11318 31804  0  78   0 - 14533 stext  Nov05 ?        00:01:22 /usr/bin/php-cgi
1 S www-data 11543 31804  0  76   0 - 14261 stext  Nov05 ?        00:01:42 /usr/bin/php-cgi
1 S www-data 19837 31804  0  76   0 - 13996 stext  Nov05 ?        00:01:58 /usr/bin/php-cgi
1 S www-data 27721 31804  0  76   0 - 10658 stext  Nov05 ?        00:01:57 /usr/bin/php-cgi
1 S www-data 27722 31804  0  76   0 - 13352 stext  Nov05 ?        00:01:51 /usr/bin/php-cgi
0 S www-data 31804     1  0  75   0 -  8829 wait   Sep22 ?        00:00:00 /usr/bin/php-cgi

代码: 全选

head /etc/nginx/nginx.com
user www-data;
worker_processes  5;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}
Screenshot.png
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 一个小小的经验:别安装google的mod_pagespeed。

#5

帖子 cnkilior » 2010-11-06 1:44

你的nginx应该是进程服务器。
不过你这里怎么这么多mysqld?
我不管怎么访问都是一个。也没有你那么耗内存。
mysqld和php-cgi消耗太多内存了。
如果是没个session都要开一个nginx+mysqld+php-cgi,能支持几个session?
不到10个吧?

代码: 全选

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2   2464  1328 ?        Ss   14:54   0:00 init
root     24108  0.0  0.1   2300   900 ?        Ss   14:55   0:00 cron
mysql    24203  0.0  2.0  57300 10544 ?        Ssl  14:55   0:00 /usr/sbin/mysqld
root     24529  0.0  0.1   5468   940 ?        Ss   14:55   0:00 /usr/sbin/sshd
root      9453  0.3  0.5   8272  2792 ?        Ss   17:40   0:00  \_ sshd: root@pts/0 
root     11667  0.0  0.3   4528  1900 pts/0    Ss   17:41   0:00      \_ -bash
root     15684  0.0  0.1   2636   928 pts/0    R+   17:41   0:00          \_ ps auxf
root     30078  0.0  1.4  33896  7372 ?        Ss   16:14   0:00 /usr/sbin/apache2 -k start
www-data 30086  0.0  3.4  44892 18308 ?        S    16:14   0:00  \_ /usr/sbin/apache2 -k start
www-data 30087  0.0  0.9  34504  4924 ?        S    16:14   0:00  \_ /usr/sbin/apache2 -k start
www-data 30088  0.0  0.8  33896  4488 ?        S    16:14   0:00  \_ /usr/sbin/apache2 -k start
www-data 30090  0.0  0.8  33896  4476 ?        S    16:14   0:00  \_ /usr/sbin/apache2 -k start
www-data 30514  0.0  0.8  34344  4716 ?        S    16:14   0:00  \_ /usr/sbin/apache2 -k start
www-data 30517  0.0  2.7  41028 14668 ?        S    16:14   0:00  \_ /usr/sbin/apache2 -k start
www-data 30523  0.0  3.4  44892 18296 ?        S    16:14   0:00  \_ /usr/sbin/apache2 -k start
www-data  3930  0.0  0.8  33896  4416 ?        S    16:39   0:00  \_ /usr/sbin/apache2 -k start
www-data  4049  0.0  0.8  33896  4416 ?        S    16:39   0:00  \_ /usr/sbin/apache2 -k start
www-data  4050  0.0  3.4  44892 18264 ?        S    16:39   0:00  \_ /usr/sbin/apache2 -k start
头像
pityonline
帖子: 3864
注册时间: 2008-12-09 12:44
来自: 北京
联系:

Re: 一个小小的经验:别安装google的mod_pagespeed。

#6

帖子 pityonline » 2010-11-06 9:06

我不太懂哦,大都用的默认的……

那个 htop 的文本输出怎么搞的?我只会截屏…… :em03
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 一个小小的经验:别安装google的mod_pagespeed。

#7

帖子 cnkilior » 2010-11-06 9:34

我那个不是htop,是ps auxf的输出。

进程服务器就是每来一个session就fork一个进程,线程服务器则是create一个线程。

线程在linux是不可见的。所以表现起来就是一个进程在工作。

线程服务器的好处就是节约内存,因为很多资源都被共享了,但是需要使用很多锁,这也影响的性能了。

如果nginx的每一个worker进程都要fork一个php-cgi和mysqld,那么每个session就要消耗(0.3+5.1+5.9)%=11.3%的内存。

全部内存才够不到9个session。

我觉得就算要forkphp-cgi也不应该forkmysqld吧?
头像
lgxwqq
帖子: 1145
注册时间: 2009-12-04 13:29

Re: 一个小小的经验:别安装google的mod_pagespeed。

#8

帖子 lgxwqq » 2010-11-06 9:40

学习学习了 :em11
关注和奉献Tianjin Linux User Group的建设,热心参与开源社区,Linux爱好者,python初学者,希望成为一名geek,求交流求指导

我知道发QQ群是不对的。。。可是:Linux天津qq群104029520 73809331,终有一天会没有QQ的。。

Blog:http://www.freetstar.com //欢迎
twitter:https://twitter.com/freetstar
头像
pityonline
帖子: 3864
注册时间: 2008-12-09 12:44
来自: 北京
联系:

Re: 一个小小的经验:别安装google的mod_pagespeed。

#9

帖子 pityonline » 2010-11-06 9:56

代码: 全选

$ ps auxf
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2   2464  1340 ?        Ss   Sep22   0:02 init
root     30647  0.0  0.1   5468   944 ?        Ss   Sep22   0:14 /usr/sbin/sshd
root      1773  0.0  0.5   8272  2748 ?        Ss   08:52   0:00  \_ sshd: pity [priv]
pity      3081  0.0  0.2   8272  1428 ?        S    08:52   0:00  |   \_ sshd: pity@pts/1 
pity      3088  0.0  0.4   4776  2164 pts/1    Ss+  08:52   0:00  |       \_ -bash
root      7293  0.0  0.5   8272  2752 ?        Ss   09:52   0:00  \_ sshd: pity [priv]
pity      9444  0.0  0.2   8272  1432 ?        S    09:53   0:00      \_ sshd: pity@pts/2 
pity      9446  0.0  0.4   4776  2168 pts/2    Ss   09:53   0:00          \_ -bash
pity     11985  0.0  0.1   2636   936 pts/2    R+   09:54   0:00              \_ ps auxf
root     30662  0.0  0.1   2300   916 ?        Ss   Sep22   0:07 cron
root     11858  0.0  0.1   2476  1040 ?        S    Nov01   0:00  \_ CRON
pity     11859  0.0  0.2   4128  1256 ?        Ss   Nov01   0:00      \_ /bin/bash /home/pity/scripts/msgme
pity     19619  0.0  1.1   9612  6180 ?        S    Nov01   0:00          \_ python /home/pity/scripts/pyfetion/fetion.py
mysql    30682  0.0  5.9  61020 31068 ?        Ssl  Sep22  33:06 /usr/sbin/mysqld
root     30702  0.0  0.7   5972  3808 ?        Ss   Sep22  44:31 /usr/sbin/openvpn --writepid /var/run/openvpn.server.pid --daemon ovpn-server --cd /etc/openvpn --confi
root     31749  0.0  0.1   4868   888 ?        Ss   Sep22   0:00 nginx: master process /usr/sbin/nginx
www-data 31750  0.0  0.3   5308  1920 ?        S    Sep22   9:22  \_ nginx: worker process
www-data 31751  0.0  0.3   5300  1888 ?        S    Sep22   9:23  \_ nginx: worker process
www-data 31752  0.0  0.3   5124  1832 ?        S    Sep22   9:30  \_ nginx: worker process
www-data 31753  0.0  0.3   5324  1924 ?        S    Sep22   9:13  \_ nginx: worker process
www-data 31754  0.0  0.3   5340  2048 ?        S    Sep22   9:20  \_ nginx: worker process
www-data 31804  0.0  1.2  35316  6532 ?        Ss   Sep22   0:00 /usr/bin/php-cgi
www-data 19837  0.2  5.3  55984 28204 ?        S    Nov05   3:06  \_ /usr/bin/php-cgi
www-data 27721  0.2  2.8  42376 14920 ?        S    Nov05   3:07  \_ /usr/bin/php-cgi
www-data 27722  0.2  4.8  53408 25700 ?        S    Nov05   3:04  \_ /usr/bin/php-cgi
www-data 11543  0.2  5.5  57044 29332 ?        S    Nov05   2:46  \_ /usr/bin/php-cgi
www-data 11318  0.2  5.8  58132 30616 ?        S    Nov05   2:28  \_ /usr/bin/php-cgi
pity      5780  0.0  6.0 133780 31624 ?        Sl   Oct23  15:53 /home/pity/.dropbox-dist/dropbox
syslog    1858  0.0  0.2  24080  1368 ?        Sl   Nov05   0:01 rsyslogd -c4
这是我 vps 上的输出,我自己看不懂,请 cnkiller 帮忙看看啥情况…… :em03
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 一个小小的经验:别安装google的mod_pagespeed。

#10

帖子 cnkilior » 2010-11-06 10:14

我也是才开的服务器,大家相互学习吧。nginx我也不懂,apache2我也只会删删mods-enable,很多都没有涉及到。
头像
pityonline
帖子: 3864
注册时间: 2008-12-09 12:44
来自: 北京
联系:

Re: 一个小小的经验:别安装google的mod_pagespeed。

#11

帖子 pityonline » 2010-11-06 10:43

相互学习…… :em06 :em06
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接
回复