V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Sdhjt
V2EX  ›  问与答

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

  •  
  •   Sdhjt · 2013-08-15 13:53:47 +08:00 · 9627 次点击
    这是一个创建于 4119 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务器配置:
    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的问题。
    21 条回复    1970-01-01 08:00:00 +08:00
    9hills
        1
    9hills  
       2013-08-15 14:11:08 +08:00 via Android   ❤️ 1
    加cache
    molinxx
        2
    molinxx  
       2013-08-15 14:16:41 +08:00   ❤️ 2
    http://foreveryan.blog.51cto.com/3508502/674322
    这是11年的老文章,512内存优化到作者说的webbench 5W+线程,原linode512四核心实测能到1W+,希望对你有用~
    cxe2v
        3
    cxe2v  
       2013-08-15 14:37:36 +08:00   ❤️ 1
    god,这个真的好好优化,这个配置跑个2楼说的5W轻轻松松啊,正常都不带优化的好吧?
    msg7086
        4
    msg7086  
       2013-08-15 15:40:08 +08:00   ❤️ 1
    wordpress撑500并发?

    worker_cpu_affinity加上会提高性能,但是你要说裸装wp跑500并发我觉得危险。跑空脚本应该能到这个速度。
    halfbloodrock
        5
    halfbloodrock  
       2013-08-15 15:45:25 +08:00   ❤️ 1
    建议不要盲目网上搜索优化。做压力测试时候,观察下系统状态,cpu,磁盘,内存切换这类,然后分析下log,http,mysql都要看看。如果有问题,这些地方都会有所反映。
    Sdhjt
        6
    Sdhjt  
    OP
       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
        7
    ipconfiger  
       2013-08-15 16:31:14 +08:00   ❤️ 1
    你的测试如果是带业务,带数据库访问的话,500已经不错了,超过300就能扛每日100W级别的PV了
    msg7086
        8
    msg7086  
       2013-08-15 17:43:15 +08:00   ❤️ 1
    @Sdhjt 你知道wordpress有多慢吗同学……

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


    感谢都已发送,谢谢大家
    lhx2008
        12
    lhx2008  
       2013-08-15 18:16:53 +08:00
    @Sdhjt 你不装memcache用memcache插件有什么用啊?亲,wp真不慢
    Sdhjt
        13
    Sdhjt  
    OP
       2013-08-15 18:20:48 +08:00
    @lhx2008 可能我表达不清楚,memcache库,php5-memcached,wordpress关于memcached的插件我都装了,呵呵。
    lhx2008
        14
    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
        15
    Sdhjt  
    OP
       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
        16
    tempdban  
       2013-08-15 19:30:40 +08:00 via Android   ❤️ 1
    wp-supercache
    shanks
        17
    shanks  
       2013-08-16 13:30:46 +08:00   ❤️ 1
    直接上redis,6G内存不跑redis/memcache用来干嘛 = =!
    最近也在做WP性能优化,上redis之后后端的fpm或者mysql优化效果都没redis明显
    ipconfiger
        18
    ipconfiger  
       2013-08-16 13:32:44 +08:00   ❤️ 1
    其实对于wordpress之类的BLOG/CMS来说,静态化才是最终极的优化方案
    Sdhjt
        19
    Sdhjt  
    OP
       2013-08-16 22:16:17 +08:00
    @tempdban
    @shanks
    @ipconfiger
    静态化、wp-supercache、redis我都查了,貌似都是比较复杂的优化了,短时间我还搞不定,以后有时间再换上。现在先用nginx的缓存顶着。谢谢以上,感谢已发送!
    siw
        20
    siw  
       2013-08-16 22:34:21 +08:00
    你没装APC?
    siw
        21
    siw  
       2013-08-16 22:41:21 +08:00
    soury, 没注意..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6038 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:50 · PVG 10:50 · LAX 18:50 · JFK 21:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.