博客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

21 个回复 to “博客nginx压力测试”

  1. Melody Says:

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

    [回复]

    雨宫优子 回复:

    不无关系啦~嗯

    [回复]

  2. 言冬 Says:

    哇咔咔。这个。叫我情何以堪呢。 :qiguai
    言冬的最新文章:给力校园语摘My Profile

    [回复]

    雨宫优子 回复:

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

    [回复]

  3. 雨宫优子 Says:

    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个连接了

    [回复]

  4. 宁波废品回收 Says:

    都是代码看的不是很懂啊

    [回复]

  5. 灵曦 Says:

    多弄几个服务器就可以...了呢.......
    灵曦的最新文章:知己难得,难得珍惜My Profile

    [回复]

    雨宫优子 回复:

    灵曦抱~没有米呢

    [回复]

  6. 宁波藏獒园 Says:

    这个是博客压力测试么?

    [回复]

    雨宫优子 回复:

    诶 ?有什么问题嘛

    [回复]

  7. 灵曦 Says:

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

    [回复]

    雨宫优子 回复:

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

    [回复]

  8. 杨祖江 Says:

    很牛呀

    [回复]

  9. SOHO一族 Says:

    哈,你的博客也通过审核了~
    SOHO一族的最新文章:PaidSurveysLive取消返佣、继续推广的说明My Profile

    [回复]

    雨宫优子 回复:

    哈伊~?
    雨宫优子的最新文章:博客nginx压力测试My Profile

    [回复]

  10. illusionwing Says:

    :han 还是没法用自己电脑测,上行带宽不足,弄个并行小点的了。。

    HTTP response codes:
    code 200 -- 11540
    code 400 -- 7

    400 错误太假了。。

    [回复]

  11. 海是倒過來的天 Says:

    你的这个应该是要猛些诶。。

    “总共传输~1642.961mb的数据”

    [回复]

  12. 毕扬 Says:

    啊,压力测试。。

    [回复]

    雨宫优子 回复:

    很晚了呢。。。

    [回复]

  13. sailor Says:

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

    [回复]

  14. moper Says:

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

    [回复]

为何不留个言呢?

我要把我的最新文章显示在这!