1.   测试环境 1.1. 硬件环境 

 

 

 

 

 

客户端和服务端 :
Cpu: 单核 2G
内存 :4GB

1.2. 网络环境

局域网 100Mbps
测试前把客户端和   服务端的 socket 数开大
/sbin/sysctl -w net.core.somaxconn=20000
测试前把客户端和服务端的文件打开数开大
ulimit -n 20000

2.   测试方法

ab httpserver 并发 (100,1000,2000,5000,10000) 测试 10 万次
ab -n 100000 -c 100 http://192.168.13.105:8080/
ab -n 100000 -c 1000 http://192.168.13.105:8080/
ab -n 100000 -c 2000 http://192.168.13.105:8080/
3.    测试结果
Rps: Requests per second
产品
并发量
丢失数
rps
每分钟负载
最大响应时间( ms
100
0
6061.91
1.26
16.496
1000
0
9878.99
1.31
101.225
2000
 
8590.68
1.51
232.811
5000
 
8053.36
1.16
620.859
10000
 
4876.96
1.12
2050.459
Netty
100
 
8733.74
0.96
11.450
1000
 
11101.22
1.11
90.080
2000
 
10622.91
1.67
188.272
5000
到达 50000 时挂了
 
 
 
10000
 
 
 
 
Nginx( 静态文件 )
100
0
12526.93
0.23
7.983
1000
0
13249.86
0.3
75.473
2000
0
11882.48
0.47
168.315
5000
0
7761.73
0.32
644.186
10000
0
4824.87
0.15
2072.595
Nginx(FastCGI,20 进程 )
100
 
出现很多错误
 
 
1000
0
 
 
 
2000
0
 
 
 
5000
0
 
 
 
10000
0
 
 
 
mongrel2
100
 
6366.11
0.22
15.708
1000
 
6381.22
0.49
156.710
2000
 
6263.62
0.30
319.304
5000
连接被重置
 
 
 
10000
 
 
 
 

 

 

4.   结论

Mima netty 是用 java 动态生成 html ,在并发 2000 连接时效率能达到 8000rps
Nginx 后挂 fastcgi 的效率和后面处理语言的效率有关,如果后面用 c 的话,效率估计会很高