服务器扛不住webbench 500并发,请大家帮帮忙优化一下,谢谢

2013-08-15 13:53:47 +08:00
 Sdhjt
服务器配置:
8核,6G内存,LNMP组合,仅仅运行了一个wordpress,使用以下命令测试:
webbench -c 500 -t 600 http://xxx.xxx/index.php

运行webbench期间,网站已经很难打开,经常遭遇502错误。


服务器文件描述符已改到65535,sysctl里的参数根据网上的配置改的。
Nginx做了以下优化:
worker_processes 8;
pid /var/run/nginx.pid;

events {
use epoll;
worker_connections 65535;
multi_accept on;
}

php5-fpm将进程增加到128个,别的没有动。

MySQL最大连接数改为3000,其它没有动。

请问大家还需要做什么优化,大体提一下我去查也可以,谢谢!

PS:我感觉Nginx是没啥问题了,500并发纯静态页面,Nginx毫无压力,应该是php和mysql的问题。
9657 次点击
所在节点    问与答
21 条回复
9hills
2013-08-15 14:11:08 +08:00
加cache
molinxx
2013-08-15 14:16:41 +08:00
http://foreveryan.blog.51cto.com/3508502/674322
这是11年的老文章,512内存优化到作者说的webbench 5W+线程,原linode512四核心实测能到1W+,希望对你有用~
cxe2v
2013-08-15 14:37:36 +08:00
god,这个真的好好优化,这个配置跑个2楼说的5W轻轻松松啊,正常都不带优化的好吧?
msg7086
2013-08-15 15:40:08 +08:00
wordpress撑500并发?

worker_cpu_affinity加上会提高性能,但是你要说裸装wp跑500并发我觉得危险。跑空脚本应该能到这个速度。
halfbloodrock
2013-08-15 15:45:25 +08:00
建议不要盲目网上搜索优化。做压力测试时候,观察下系统状态,cpu,磁盘,内存切换这类,然后分析下log,http,mysql都要看看。如果有问题,这些地方都会有所反映。
Sdhjt
2013-08-15 16:15:25 +08:00
感谢大家回复,我现在添加了eaccelerator,内存使用减少了1G,worker_cpu_affinity也添加了。效果有改善,但是远不及1W的并发。。。

这是我使用webbench时的景象:
top - 16:06:05 up 3:48, 1 user, load average: 198.81, 150.89, 103.84
Tasks: 312 total, 201 running, 111 sleeping, 0 stopped, 0 zombie
Cpu(s): 69.5%us, 10.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.1%si, 20.4%st
Mem: 6113588k total, 4152812k used, 1960776k free, 39932k buffers
Swap: 6291452k total, 115668k used, 6175784k free, 541388k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2590 mysql 20 0 4645m 48m 3800 S 17 0.8 10:48.08 mysqld
17053 www-data 20 0 114m 41m 2004 S 12 0.7 0:44.41 nginx
18216 www-data 20 0 211m 31m 11m R 6 0.5 0:13.08 php5-fpm
18221 www-data 20 0 211m 31m 11m R 6 0.5 0:12.62 php5-fpm
18117 www-data 20 0 205m 25m 11m R 5 0.4 0:19.45 php5-fpm
18292 www-data 20 0 204m 23m 11m R 5 0.4 0:11.08 php5-fpm
18402 www-data 20 0 211m 31m 11m R 5 0.5 0:09.26 php5-fpm
18105 www-data 20 0 203m 24m 13m R 5 0.4 0:21.88 php5-fpm
18208 www-data 20 0 202m 22m 12m R 5 0.4 0:12.93 php5-fpm
18430 www-data 20 0 206m 26m 11m R 5 0.4 0:08.84 php5-fpm
18460 www-data 20 0 205m 25m 11m R 5 0.4 0:08.48 php5-fpm
18148 www-data 20 0 204m 23m 11m R 4 0.4 0:16.12 php5-fpm
18168 www-data 20 0 210m 30m 12m R 4 0.5 0:14.36 php5-fpm
18204 www-data 20 0 211m 31m 11m R 4 0.5 0:12.93 php5-fpm
18293 www-data 20 0 202m 22m 11m R 4 0.4 0:10.85 php5-fpm
18344 www-data 20 0 202m 22m 12m R 4 0.4 0:10.11 php5-fpm
18424 www-data 20 0 202m 22m 11m R 4 0.4 0:08.85 php5-fpm
18446 www-data 20 0 202m 22m 11m R 4 0.4 0:08.74 php5-fpm
18482 www-data 20 0 205m 24m 11m R 4 0.4 0:08.38 php5-fpm
18120 www-data 20 0 203m 22m 11m R 4 0.4 0:18.50 php5-fpm
18124 www-data 20 0 231m 50m 13m R 4 0.8 0:18.31 php5-fpm
18127 www-data 20 0 211m 31m 11m R 4 0.5 0:17.07 php5-fpm


最终webbench的结果是:
500 clients, running 60 sec.

Speed=6285 pages/min, 30314 bytes/sec.
Requests: 6285 susceed, 0 failed.


我去网上搜索别人webbench的结果,发现我的结果跟好多人的差不多,是不是1W+的并发和我的测试方法不一样?我是GET wordpress的首页index.php做测试的。

感谢已发送!
ipconfiger
2013-08-15 16:31:14 +08:00
你的测试如果是带业务,带数据库访问的话,500已经不错了,超过300就能扛每日100W级别的PV了
msg7086
2013-08-15 17:43:15 +08:00
@Sdhjt 你知道wordpress有多慢吗同学……

要测纯web性能的话自己写个phpinfo()的页面去测啊。
lhx2008
2013-08-15 17:54:37 +08:00
wp喜闻乐见,用memcache简单防下五百的,要防五万的用nginx的缓存,五十万也可以,不过我是做不到
Sdhjt
2013-08-15 18:07:10 +08:00
@msg7086 确实是wordpress太慢了,phpinfo毫无压力,CPU使用率高了1%而已。。。。
@lhx2008 memcached加了,安了wordpress的memcache插件,效果不明显,看来wordpress不是一般的慢,呵呵。
Sdhjt
2013-08-15 18:08:44 +08:00
@ipconfiger 确实是带了数据库访问,我mysqld进程直接彪起来了。


感谢都已发送,谢谢大家
lhx2008
2013-08-15 18:16:53 +08:00
@Sdhjt 你不装memcache用memcache插件有什么用啊?亲,wp真不慢
Sdhjt
2013-08-15 18:20:48 +08:00
@lhx2008 可能我表达不清楚,memcache库,php5-memcached,wordpress关于memcached的插件我都装了,呵呵。
lhx2008
2013-08-15 18:51:58 +08:00
@Sdhjt php5-memcached是php接口,沟通php和memcache的,memcache是一个软件(不是插件、模块),他最新的版本号是V1.4.15,下载地址是http://memcached.org/,你可以telnet 127.0.0.1 11211 下,我不知道是你没讲清楚还是我理解错了
Sdhjt
2013-08-15 19:21:24 +08:00
@lhx2008 嗯,有的,以下是我用netstat查的:
root@ubuntuWebServer:/etc/nginx# netstat -antup |grep 11211
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 19197/memcached
tcp 0 0 127.0.0.1:11211 127.0.0.1:44151 TIME_WAIT -
udp 0 0 127.0.0.1:11211 0.0.0.0:* 19197/memcached
tempdban
2013-08-15 19:30:40 +08:00
wp-supercache
shanks
2013-08-16 13:30:46 +08:00
直接上redis,6G内存不跑redis/memcache用来干嘛 = =!
最近也在做WP性能优化,上redis之后后端的fpm或者mysql优化效果都没redis明显
ipconfiger
2013-08-16 13:32:44 +08:00
其实对于wordpress之类的BLOG/CMS来说,静态化才是最终极的优化方案
Sdhjt
2013-08-16 22:16:17 +08:00
@tempdban
@shanks
@ipconfiger
静态化、wp-supercache、redis我都查了,貌似都是比较复杂的优化了,短时间我还搞不定,以后有时间再换上。现在先用nginx的缓存顶着。谢谢以上,感谢已发送!
siw
2013-08-16 22:34:21 +08:00
你没装APC?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/79171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX