漩涡's Archivers

From 雨宫优子 on 2011-05-22 17:02:23

博客nginx压力测试

压力测试软件:http_load【机子上无AB(Apache Benchmark)Siege无法产生过多的模拟进程(1G内存只能开60个进程并发)只好选http_load】


客户端是一台512M内存突发1024M内存的VPS,上行一般只有10~30Mbps【也就是1~3MB/s,带宽单位的问题不多解释】下行有100~300Mbps


服务端[被测试端]进行了一定的优化。修改了内核参数文件以及nginx的进程数



nginx.conf优化部分:



worker_processes 2;


#打开两个nginx进程


worker_cpu_affinity 0101 1010;


#将两个nginx进程绑定分别绑定到四个CPU核心上


worker_rlimit_nofile 65536;


#每个worker限制打开65536个文件,这里如何设置应该使用ulimit -n命令查看。当然这个系统限制可以修改



 


一个摘录来的完整的sysctl.conf



net.ipv4.ip_forward = 0


net.ipv4.conf.default.rp_filter = 1


net.ipv4.conf.default.accept_source_route = 0


kernel.sysrq = 0


kernel.core_uses_pid = 1


net.ipv4.tcp_syncookies = 1


kernel.msgmnb = 65536


kernel.msgmax = 65536


kernel.shmall = 268435456


kernel.shmmax = 4294967295


net.ipv4.tcp_max_tw_buckets = 6000


net.ipv4.tcp_sack = 1


net.ipv4.tcp_window_scaling = 1


net.ipv4.tcp_rmem = 4096        87380    4194304


net.ipv4.tcp_wmem = 4096        16384    4194304


net.core.wmem_default = 8388608


net.core.rmem_default = 8388608


net.core.rmem_max = 16777216


net.core.wmem_max = 16777216


net.core.netdev_max_backlog = 262144


net.core.somaxconn = 262144


net.ipv4.tcp_max_orphans = 3276800


net.ipv4.tcp_max_syn_backlog = 262144


net.ipv4.tcp_timestamps = 0


net.ipv4.tcp_synack_retries = 1


net.ipv4.tcp_syn_retries = 1


net.ipv4.tcp_tw_recycle = 1


net.ipv4.tcp_tw_reuse = 1


net.ipv4.tcp_mem = 94500000 915000000 927000000


net.ipv4.tcp_fin_timeout = 1


net.ipv4.tcp_keepalive_time = 30



还有一些零碎的优化。。。可以百度看看。。。嗯


两个测试目标:


xuanwobbs.com.cn和www.gengu.org[言冬博客]


测试参数:150秒,1000个并发


结果:


言冬博客


 



46023 fetches, 1000 max parallel, 1.14329e+08 bytes, in 150.001 seconds


在150.001秒钟共链接46023次。最高1000并发。总共传输~109.033mb的数据


2484.18 mean bytes/connection


每个连接传输2484.18bytes


306.818 fetches/sec, 762189 bytes/sec


每秒实际平均发送306.818个请求,平均每秒收到762189bytes[0.72mb/s]


msecs/connect: 84.3222 mean, 9066.12 max, 46.552 min


每个连接平均响应时间:84.3222msecs,最大是9066.12,最小是46.552


msecs/first-response: 3127.1 mean, 8213.34 max, 117.576 min


218 bad byte counts


出现了218次请求内容和上次不一样的情况【根据下文可判断218次都是提示500错误】


HTTP response codes:


HTTP响应统计:


  code 200 -- 45805


200正常 -- 45805次


  code 500 -- 218


500错误 -- 218次



 


自己的


 



33529 fetches, 1000 max parallel, 1.72277e+09 bytes, in 150 seconds


在150秒钟共链接33529次。最高1000并发。总共传输~1642.961mb的数据


51381.5 mean bytes/connection


每个连接传输51381.5bytes


223.526 fetches/sec, 1.14851e+07 bytes/sec


每秒实际平均发送223.526个请求,平均每秒收到10.95mb/s


msecs/connect: 561.087 mean, 9283.16 max, 42.067 min


每个连接平均响应时间:561.087msecs,最大是9283.16,最小是42.067


msecs/first-response: 897.262 mean, 12254.5 max, 43.474 min


29 bad byte counts


出现了29次请求内容和上次不一样的情况【根据下文判断29次均属正常响应】


HTTP response codes:


HTTP响应代码统计:


  code 200 -- 33500


200正常 -- 33500次


注:出现了16次连接超时



 


言冬博客程序好像是centos自带的apache


查看完整版本: 博客nginx压力测试

From Melody on 2011-05-22 17:38:10

和小问昨天玩的东西有关吗。。。

From 雨宫优子 on 2011-05-22 17:55:33

不无关系啦~嗯

From 言冬 on 2011-05-22 17:59:25

哇咔咔。这个。叫我情何以堪呢。 :qiguai

From 雨宫优子 on 2011-05-22 18:04:13

没什么堪不堪的。。。已经很好了...

From 雨宫优子 on 2011-05-23 14:43:52

3000个并发。。60秒
21838 fetches, 1739 max parallel, 4.93867e+08 bytes, in 60.5007 seconds 22615 mean bytes/connection 360.954 fetches/sec, 8.163e+06 bytes/sec msecs/connect: 1689.24 mean, 19298.9 max, 0.596 min msecs/first-response: 720.761 mean, 6386.06 max, 0.687 min 2 timeouts 12341 bad byte counts HTTP response codes: code 200 -- 11053
博客依然能打开,未受太大影响 不过貌似可能受客户端或者其他各种可能的限制只能并发1739个连接了

From 宁波废品回收 on 2011-05-23 17:03:01

都是代码看的不是很懂啊

From 灵曦 on 2011-05-23 21:09:30

多弄几个服务器就可以...了呢.......

From 雨宫优子 on 2011-05-24 09:33:54

灵曦抱~没有米呢

From 宁波藏獒园 on 2011-05-24 10:22:25

这个是博客压力测试么?

From 雨宫优子 on 2011-05-24 15:06:11

诶 ?有什么问题嘛

From 灵曦 on 2011-05-25 19:01:59

可怜的孩纸,我也穷疯了 :kuqi

From 雨宫优子 on 2011-05-25 19:06:35

:kuqi 没办法写了软文了。。。。

From 杨祖江 on 2011-05-26 13:43:01

很牛呀

From SOHO一族 on 2011-05-26 13:45:10

哈,你的博客也通过审核了~

From 雨宫优子 on 2011-05-27 13:33:49

哈伊~?

From illusionwing on 2011-05-28 20:04:30

:han 还是没法用自己电脑测,上行带宽不足,弄个并行小点的了。。 HTTP response codes: code 200 -- 11540 code 400 -- 7 400 错误太假了。。

From 海是倒過來的天 on 2011-05-29 00:24:39

你的这个应该是要猛些诶。。 “总共传输~1642.961mb的数据”

From 毕扬 on 2011-06-04 02:18:22

啊,压力测试。。

From 雨宫优子 on 2011-06-04 02:41:35

很晚了呢。。。

From sailor on 2011-06-17 10:28:50

早就听说过nginx的牛了,只可惜到现在也不怎么会用

From moper on 2011-06-25 22:32:55

这个,不会用额~~~用的不是nginx :youyisi

Tags: apache-vs-nginx, nginx压力测试, wordpress压力


©漩涡网络安全实验室