最近在自己的台式机上搭了个lnmp,想用压力压一压,看看结果怎么样。 由于nginx只是个静态web服务器,并发能力超强,因此lnmp的性能瓶颈在于php的处理能力,即php-fpm。 硬件 1.CPU AMD Phenom(tm) II X4 945 2.内存 4G x 4 3.硬盘 西数绿盘 7200rpm 4.网卡 realtek 8169 千兆自适应 软件版本 1.nginx 1.4.0 2.mysql 5.5.31 3.php 5.4.14 重新编译的rpm包有 1.nginx 2.mysql 3.php 4.php-pecl-zendopcache 5.libevent lnmp的优化手段主要有 1 2 3 4 5 6 7 8 内核参数 文件句柄数 php缓存 nginx编译 nginx pagespeed nginx缓存 nginx压缩 nginx CPU绑定 采用autobench ,模拟300至1000个并发,每次并发持续2分钟,之后并发递增100,每个连接5次请求。 命令 1.autobench --single_host --host1 192.168.1.101 --port1 80 --uri1 /phpinfo.php --low_rate 300 --high_rate 1000 --rate_step 100 --num_call 5 --const_test_time 120 --timeout 2 --file result.tsv 结果 连接数 请求速度req/s 连接速度conn/s 总连接数 300 291.4 287.9 1500 400 374.4 383.9 2000 500 384 394.3 2500 600 389.9 399.2 3000 700 385.7 397.2 3500 800 390.8 399.7 4000 900 389.3 399.1 4500 1000 379.8 391.9 5000 结果分析, 并发在300开始,php处理能力逐渐加强,在800时达到最高峰390.8req/s,之后逐渐下降,可见,php整体处理请求能力在每秒380左右,理论上全天访问量约3千万(380x60x60x24=32832000). 根据二八原理,80%的请求完成在20%的时间段里,20%的时间为4.8小时,可承受的请求数为650万(380x60x60x4.8=6566400),换算成实际全天访问量就是820万(6566400/0.8=8208000)。 根据大牛张宴的博客,他能达到700req/s(理论上折合日访问量6千万),不过他是全程编译,而我这里全程是rpm,只对部分核心软件包进行了srpm重新编译,硬件也只是普通台式机。 总之,还有很大的优化空间,继续加油! (责任编辑:IT) |