Tomcat、Jetty和Glassfish性能测试( 三 )


Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为32685ms
100线程测试(3)
测试端口为8080,线程数为100,循环次数为10线程间请求的允许的间隔时间为0,也就是有100个线程同时发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为33888ms
50线程测试(1)
测试端口为8080,线程数为50,循环次数为20线程间请求的允许的间隔时间为0,也就是立即建立50个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为26328ms
10线程测试(1)
测试端口为8090,线程数为10,循环次数为100线程间请求的允许的间隔时间为0,也就是立即建立10个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为4334ms
此外,在3个应用服务器测试期间,由于同时处理的请求数过多,均发生了如下异常,提示创建的对象过多,内存不足 。这跟机器环境,应用服务器设置以及JVM设置有关,但也有可能我们的APP也许隐藏着某些对象没有被垃圾回收机制回收的问题(只是猜测) 。
Tomcat、Jetty和Glassfish性能测试

文章插图
 
2.3 CentOS7 server环境性能测试使用JDK版本1.7.0_25
请求地址为192.168.32.129
2.3.1 Jetty测试100线程测试(1)
测试的端口为8080,线程数为100,循环次数为10线程间请求的允许的间隔时间为10,也就是10秒钟内建立100个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为28351ms
100线程测试(2)
测试端口为8080,线程数为100,循环次数为10线程间请求的允许的间隔时间为5,也就是5秒钟建立100个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为29166ms
100线程测试(3)
测试端口为8080,线程数为100,循环次数为10线程间请求的允许的间隔时间为0,也就是立即建立100个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为28267ms
50线程测试(1)
测试端口为8080,线程数为50,循环次数为20线程间请求的允许的间隔时间为0,也就是立即建立50个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为20784ms
10线程测试(1)
测试端口为8080,线程数为10,循环次数为100线程间请求的允许的间隔时间为0,也就是立即建立10个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为3139ms
2.3.2 Glassfish测试100线程测试(1)
测试的端口为8088,线程数为100,循环次数为10线程间请求的允许的间隔时间为10,也就是10秒钟内建立100个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为28697ms
100线程测试(2)
测试端口为8088,线程数为100,循环次数为10线程间请求的允许的间隔时间为5,也就是5秒内建立100个线程发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为28260ms
100线程测试(3)
测试端口为8088,线程数为100,循环次数为10线程间请求的允许的间隔时间为0,也就是有100个线程同时发起请求 。下面是测试结果:
Tomcat、Jetty和Glassfish性能测试

文章插图
 
可以看到请求平均处理响应时间为28675ms
50线程测试(1)
测试端口为8088,线程数为50,循环次数为20线程间请求的允许的间隔时间为0,也就是立即建立50个线程发起请求 。下面是测试结果:


推荐阅读