开发者社区> 问答> 正文

测试工具 0k 测试 1K 测试 8K 测试 64K 测试:报错

NginX 1.2.0 和 Resin 4.0.29 的性能比较测试 测试工具 0k 测试 1K 测试 8K 测试 64K 测试:报错

我们最近对 Resin 4.0.29 和 NginX 1.2.0 进行了一些性能的测试,这个测试的结果显示 Resin Pro 的性能和吞吐量已经和 NginX 差不多,甚至有些地方还超过了 NginX。

测试工具

我们使用了下面两个工具进行测试:

httperf

Httperf 是个web 服务器的性能测试工具,来自惠普公司。支持 HTTP/1.1 和 SSL。

AutoBench

autobench 是一款基于httperf的 Perl脚本。它会在一次测试中调用多次httperf来对web服务器进行测试,每次会按照给定的参数增加并发连接数,将 httperf的测试结果保存为CSV格式的文件,该文件可以被Excel直接读取,方便生成测试报告。借助于autobench自带的 bench2graph工具可以生成漂亮的测试结果对比图。

Setup Overview

配置

NginX 配置 worker_processes 值为 8 来提升吞吐量。

硬件

客户端:

  • i7 4 core / 8 HT, 2.8 GHZ, 8Meg Cache, 8 GB RAM.
  • Ubuntu 12 / Linux Kernel 3.2.0-26-generic

服务器:

  • i7 4 core / 8 HT, 2.8 GHZ, 8Meg Cache, 8 GB RAM.
  • Ubuntu 12 / Linux Kernel 3.2.0-26-generic

测试软件:

  • Autobench 2.1.1
  • httperf 0.9.0

待测软件:

  • Resin Pro 4.0.29
  • nginx 1.2.0

0k 测试

命令行参数

0k.sh

./admin.sh 300000 2000 20000 1000 0k

admin.sh

autobench_admin
--clients xen:4600,lancre:4600
--uri1 /file_$5.html
--host1 ch_resin --port1 8080
--uri2 /file_$5.html
--host2 ch_nginx --port2 80
--num_conn $1
--num_call 10
--low_rate $2
--high_rate $3
--rate_step $4
--timeout 3
--file out_con$1_start$2_end$3_step$4_$5.tsv

上述脚本用来设置 30 万的连接数,可高达 2 万到 20 万的请求数每秒。每次迭代都从 1 万到 20 万。

所测试的静态页面 file_0k.html

<html>
 <body>
 <pre></pre>
 </body>
</html>

0K 的完整测试结果:

1K 测试

命令行

1k.sh

./admin.sh 200000 1000 10000 250 1k

admin.sh

autobench_admin
--clients xen.caucho.com:4600,lancre.caucho.com:4600
--uri1 /file_$5.html
--host1 ch_resin --port1 8080
--uri2 /file_$5.html
--host2 ch_nginx --port2 80
--num_conn $1
--num_call 10
--low_rate $2
--high_rate $3
--rate_step $4
--timeout 3
--file out_con$1_start$2_end$3_step$4_$5.tsv

1k.html

html>
<body>
<pre>
0 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
1 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
2 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
3 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
4 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
5 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
6 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
7 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
8 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
9 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
</pre>
</body>
</html>

1k 完整测试结果

8K 测试

64K 测试

英文原文OSCHINA原创翻译

展开
收起
kun坤 2020-06-14 10:42:36 988 0
1 条回答
写回答
取消 提交回答
  • 配置没有给出的情况下没什么太大意义######

    那就是说不需要nginx,用一个Resin就可以撑起osc了?

    ######参考下我之前写的一篇文章 http://www.oschina.net/question/12_8639###### Resin?又有新东东啦?######网易用了10几年了######人人网用了好几年了######

    这个测试忽略一个最最严重的问题,

    Java有GC卡的问题。

    Resin经常卡1秒。JVM做GC。

    非常的不爽。

    ######

    不会吧,resin这么牛?要逆天了

    ###### Resin 还活着呢!!######人人网用了好几年了。。。。。######如果不是服务静态文件而是作反向代理,估计如果反向代理逻辑简单,java写的Resin应该是快不过c写的nginx的,不过如果反向代理逻辑复杂就另说了。######

    看了下源码,原来resin底层也是C写的

    ######

    resin的默认配置会对静态文件做缓存

    用这个配置关了缓存再试试

    <cache enable="false"></cache>

    ######期待加入 tomcat 7 试试,谢谢啊!
    2020-06-14 10:42:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载