7. 极限测试(多客户端)

转至元数据结尾
转至元数据起始

极限测试主要让服务端的硬件、网络资源达到瓶颈的测试。看当时的主要TPS、内存、cpu、网络等情况。

该极限测试较之前的测试有一些改进的地方,比如bechmark的优化、bson序列化的优化,jdk从之前的openJDK的升级到oracle JDK1.6最新的版本。

测试方式:2台benchmark机器同时启动压力测试直到结束。然后整个过程通过JConsole、sar等命令 观察服务端的状况、

下面只做2000个客户端连接(每个客户端1000个连接)的测试

测试环境

1、客户机硬件信息

IP=10.241.14.41  
cpu processor count: 8
model name    : Intel(R) Xeon(R) CPU           E5504  @ 2.00GHz
cpu MHz         : 1596.000
cache size      : 4096 KB
memory 8G
硬盘 忽略
网络 1000M


IP=10.241.14.42  
cpu processor count: 8
model name    : Intel(R) Xeon(R) CPU           E5504  @ 2.00GHz
cpu MHz         : 1596.000
cache size      : 4096 KB
memory 8G
硬盘 忽略
网络 1000M


2、服务端硬件信息

IP=10.241.14.40  
cpu processor count: 8
model name    : Intel(R) Xeon(R) CPU           E5504  @ 2.00GHz
cpu MHz         : 1596.000
cache size      : 4096 KB
memory 8G
硬盘 忽略
网络 1000M


3、软件信息

软件 相关信息  
JDK java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
 
服务端框架:venus venus  1.4.0  
测试客户端工具 venus-benchmark 1.4.0  
jvm参数 -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC  


4、测试对象结构,采用json描述

Hello数据结构
{
  "hello":{
      "name":"name",
      "greeting":"这儿放测试的主要数据内容",
      "age":1,
      "cost":1.0,
      "map":{
         "name":"hello",
         "hello":"hello world!!",
         "date":"2011-11-30",
         "testing":0
      }
  }
}

测试场景:

客户端发送Hello对象到服务端,服务端返回该hello对象给客户端,进行下面不同数据量进行测试:

原hello对象

  • greeting为1K数据
  • greeting为10k数据
  • greeting为100k数据

持续请求:1000,000次*


benchmark测试信息
connect to ip=10.241.14.40,port=16800,connection size=100,total request=1000000
Fri Dec 02 14:58:51 CST 2011     compeleted=0 TPS=0 ,conns=0
---------------- create connection-----------------
Connections created time=72ms
Fri Dec 02 14:58:52 CST 2011     compeleted=79121 TPS=78260 ,conns=100
Fri Dec 02 14:58:53 CST 2011     compeleted=222829 TPS=141444 ,conns=100
Fri Dec 02 14:58:54 CST 2011     compeleted=365121 TPS=141443 ,conns=100
Fri Dec 02 14:58:55 CST 2011     compeleted=508502 TPS=142809 ,conns=100
Fri Dec 02 14:58:56 CST 2011     compeleted=648525 TPS=139604 ,conns=100
Fri Dec 02 14:58:57 CST 2011     compeleted=791580 TPS=142769 ,conns=100
Fri Dec 02 14:58:58 CST 2011     compeleted=933759 TPS=141895 ,conns=100
completed requests total=1000000, errorNum=0, cost=7465ms , TPS=133958/s
min=0.158 ms
max=191.678 ms
average=0.786 ms
create Connections time=72ms
TPS(after connected)=134571/s
Fri Dec 02 14:58:59 CST 2011     conns=100


一:以 BSON序列化方式

1、场景一、 greeting为20个字节,每个客户端发起10,000,000次请求

2个客户端,每个1000个发数的相关数据表格:

客户端 并发连接数 最小响应时间(毫秒) 最大时间(毫秒) 平均响应时间(毫秒) TPS(完成请求数/秒) 总耗时(毫秒) 总TPS
10.241.14.41 1000 0.181 865.014 12.275 82863 120680  
10.241.14.42 1000 0.156 994.421 12.355 82361 121416  
              165224


网络流量情况
11:01:37 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
11:01:38 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:01:38 PM      eth0 170465.31 170474.49 53010723.47 45183230.61      0.00      0.00      0.00
11:01:38 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:01:38 PM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:01:38 PM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:01:38 PM      usb0      2.04      0.00    132.65      0.00      0.00      0.00      0.00
11:01:38 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00


 

下面是在2000个并发连接下的图像


 

2、场景二、 greeting为1K数据, 每个客户端发起10,000,000次请求

2个客户端,每个1000个发数的相关数据表格:

客户端 并发连接数 最小响应时间(毫秒) 最大时间(毫秒) 平均响应时间(毫秒) TPS(完成请求数/秒) 总耗时(毫秒) 总TPS
10.241.14.41 1000 0.51 13042.912 20.983 46541 214864  
10.241.14.42 1000 0.501 52535.495 21.47 46668 214276  
              93209


网络流量情况
11:19:08 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
11:19:09 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:19:09 PM      eth0  98704.00  96437.00 122982089.00 121496852.00      0.00      0.00      0.00
11:19:09 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:19:09 PM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:19:09 PM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:19:09 PM      usb0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:19:09 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00


下面是在2000个并发连接下的图像


    
 

3、场景三: greeting为10K数据

2个客户端,每个1000个发数的相关数据表格:

客户端 并发连接数 最小响应时间(毫秒) 最大时间(毫秒) 平均响应时间(毫秒) TPS(完成请求数/秒) 总耗时(毫秒) 总TPS
10.241.14.41 1000 3.206 20282.111 185.627 5235 191016  
10.241.14.42 1000 1.272 28593.1 184.162 5298 188720  
              10533


网络流量情况
11:28:58 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
11:28:59 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:28:59 PM      eth0 135353.00 139787.00 122758742.00 122663956.00      0.00      0.00      0.00
11:28:59 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:28:59 PM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:28:59 PM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:28:59 PM      usb0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:28:59 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00


下面是在2000个并发连接下的图像 

 

4、场景四: greeting为100K数据 100,000次 ,由于 100k当个客户端已经达到 网络带宽瓶颈,因此采用1个客户端,并且设置benchmark超时时间为10秒

1个客户端,每个1000个发数的相关数据表格:

客户端 并发连接数 最小响应时间(毫秒) 最大时间(毫秒) 平均响应时间(毫秒) TPS(完成请求数/秒) 总耗时(毫秒) 总TPS
10.241.14.41 1000 6.297 17175.403 922.023 1098 91016 1098
               
               


网络流量情况
12:22:13 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
12:22:14 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:22:14 PM      eth0 128613.00 136085.00 122384499.00 122227259.00      0.00      0.00      0.00
12:22:14 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:22:14 PM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:22:14 PM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:22:14 PM      usb0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:22:14 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00


下面是在1000个并发连接下的图像

 
 

二 : 下面是以Json系列化方式进行测试

1、场景一、 greeting为20个字节

2个客户端,每个1000个发数的相关数据表格:

客户端 并发连接数 最小响应时间(毫秒) 最大时间(毫秒) 平均响应时间(毫秒) TPS(完成请求数/秒) 总耗时(毫秒) 总TPS
10.241.14.41 1000 0.16 1101.985 12.904 78763 126963  
10.241.14.42 1000 0.169 495.84 12.976 78689 127082  
              157442


网络流量情况
11:10:28 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
11:10:29 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:10:29 PM      eth0 155372.28 155374.26 59973380.20 38688643.56      0.00      0.00      0.00
11:10:29 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:10:29 PM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:10:29 PM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:10:29 PM      usb0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:10:29 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00


下面是在2000个并发连接下的图像 
 
 

2、场景二、 greeting为1K数据, 每个客户端发起10,000,000次请求(Cpu 瓶颈)

不同并发数的相关数据表格:

客户端 并发连接数 最小响应时间(毫秒) 最大时间(毫秒) 平均响应时间(毫秒) TPS(完成请求数/秒) 总耗时(毫秒) 总TPS
10.241.14.41 1000 0.279 734.159 23.01 44016 227186  
10.241.14.42 1000 0.26 3036.898 23.234 43546 229639  
              87562


网络流量情况
16:15:02 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
16:15:03 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:15:03 AM      eth0  86321.00  87747.00 119194259.00 108969734.00      0.00      0.00      0.00
16:15:03 AM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:15:03 AM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:15:03 AM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:15:03 AM      usb0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:15:03 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00


下面是在1000个并发连接下的图像


3、场景三: greeting为10K数据 每个客户端发起4,600,000左右(时间太长,中途中断测试,原设定请求数10,000,000)次请求(网络瓶颈)

2个客户端,每个1000个发数的相关数据表格:

客户端 并发连接数 最小响应时间(毫秒) 最大时间(毫秒) 平均响应时间(毫秒) TPS(完成请求数/秒) 总耗时(毫秒) 总TPS
10.241.14.41 1000 1.291 62083.764 188.129 5317 866229  
10.241.14.42 1000 5.813 28363.54 185.461 5393 867900  
              10710


网络流量情况
16:29:54 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
16:29:55 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:29:55 AM      eth0 133340.59 135566.34 121052012.87 121001407.92      0.00      0.00      0.00
16:29:55 AM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:29:55 AM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:29:55 AM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:29:55 AM      usb0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:29:55 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00


下面是在2000个并发连接下的图像

   

4、场景四: greeting为100K数据 (由于采用Json系列化,在大数据传输下解析非常耗时,再则由于数据量较大,对内存要求比较高,因此请求总数修改成10000次,只做10、100、1000的并发测试)

1个客户端,每个1000个发数的相关数据表格:

客户端 并发连接数 最小响应时间(毫秒) 最大时间(毫秒) 平均响应时间(毫秒) TPS(完成请求数/秒) 总耗时(毫秒) 总TPS
10.241.14.41 1000 24.738 5071.57 2046.883 467 21376  
               
               
网络流量情况
16:53:12 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
16:53:13 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:53:13 AM      eth0  52032.67  48287.13 52656510.89 52107964.36      0.00      0.00      0.00
16:53:13 AM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:53:13 AM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:53:13 AM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:53:13 AM      usb0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:53:13 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00


下面是在2000个并发连接下的图像

   
 

Enter labels to add to this page:
Please wait 
查找标签? 在此录入。