大家好,又见面了,我是你们的朋友全栈君。
1. 测试情况概述
- 本次压测目标是tomcat8和tomcat7性能比较,压测场景是:用户注册场景(关闭日志), 压测过程中,监测应用服务器和db服务器的资源使用情况,
监测内存回收情况;同时监控各涉及系统的处理能力, 判断tomcat8的性能是否优于tomcat7,是否满足现网实际业务需求.
压测目标 | tomcat8和tomcat7性能比较, 判断tomcat8的性能是否优于tomcat7,是否满足实际业务需求 |
---|---|
压测场景 | 用户注册场景(关闭日志) 场景一:Tomcat7和tomcat8,并发数30个用户相同的情况下,分别压测时间为30分钟、2个小时、4个小时、12个小时、72个小时。 场景二:Tomcat7和tomcat8,并发数从10~100区间,压测时间为30分钟。 |
涉及系统 | (server端)、(会员)、(认证)、(风控) |
涉及数据库 | mysql读写操作(数据量与线上保持一致,会员数据1000W) |
其他 | Redis/Kafka/AMQ |
系统配置 | CPU8核(4个系统),内存24G |
内存配置 | 内存配置相同:-Xmx3g -Xms3g -Xmn1g |
线程配置 | 线程配置相同:maxThreads=”400″ acceptCount=”200″ maxConnections 默认10000 |
ulimit -n 65535 |
2. 测试结果
1) 测试场景:Tomcat7和tomcat8,并发数30个用户相同的情况下,分别压测时间为30分钟、2个小时、4个小时、12个小时、72个小时。
以下是测试情况的详细数据:
2) 测试场景:Tomcat7和tomcat8,并发数从10~100区间,压测时间为30分钟。
以下是测试情况的详细数据:
Tomcat分类 | 并发数 | 压测时间 | 平均响应时间 | 99%响应时间 | tps | 总处理数 |
---|---|---|---|---|---|---|
Tomcat8 | 10 | 30mins | 171ms | 357ms | 48.7 | 87714 |
20 | 30mins | 324ms | 577ms | 54.4 | 97848 | |
30 | 30mins | 314ms | 781ms | 83 | 149962 | |
40 | 30mins | 396ms | 740ms | 88.2 | 158781 | |
50 | 30mins | 494ms | 953ms | 86.3 | 155355 | |
60 | 30mins | 619ms | 1235ms | 84.4 | 151890 | |
70 | 30mins | 757ms | 1907ms | 77.8 | 140070 | |
80 | 30mins | 813ms | 1587ms | 83.3 | 149724 | |
90 | 30mins | 901ms | 1766ms | 84.5 | 152129 | |
100 | 30mins | 1004ms | 1900ms | 84 | 151286 |
Tomcat分类 | 并发数 | 压测时间 | 平均响应时间 | 99%响应时间 | tps | 总处理数 |
---|---|---|---|---|---|---|
Tomcat7 | 10 | 30mins | 176ms | 361ms | 47.8 | 86046 |
20 | 30mins | 314ms | 540ms | 56 | 100805 | |
30 | 30mins | 486ms | 865ms | 56.6 | 101788 | |
40 | 30mins | 702ms | 1291ms | 52.3 | 94089 | |
50 | 30mins | 803ms | 1353ms | 57.7 | 103941 | |
60 | 30mins | 1009ms | 1787ms | 55.7 | 100302 | |
70 | 30mins | 1120ms | 1981ms | 58.5 | 105291 | |
80 | 30mins | 1307ms | 2421ms | 57.5 | 103572 | |
90 | 30mins | 1436ms | 2592ms | 59.3 | 106675 | |
100 | 30mins | 1633ms | 2962ms | 57.8 | 104142 |
3) 压测结论:
1.从以上第一组表格和图形对比得出,Tomcat8和tomcat7在相同配置和相同并发情况下,吞吐率和响应时间均优于tomcat7,可更快的处理更多的用户请求,测试过程中的CPU使用率相差不大。
2.从以上第二组表格和图形对比得出, Tomcat8在当前配置情况下,并发用户数为30以上,吞吐率和请求处理时间有明显的提升,达到最佳;而Tomcat7 ,并没有随着并发用户量增大,吞吐率和响应时间有更好的表现。
推出:Tomcat8在并发用户数上优于Tomcat7,可同时处理更多用户发起的请求,同时tomcat8的响应速度更快。测试过程中的CPU最高使用率:CPU使用率相差不大,均较高,达到70%。
说明:
本次压测在独立性能环境下进行,相关应用、db服务器均独立部署,不依赖其他环境系统。
压测过程:通过jmeter并发调用注册接口,同时通过nmon监测应用服务器和db服务器资源使用情况,同时监控缓存redis以及内存回收的性能情况
3. 总结和建议:
- Tomcat8和tomcat7在相同配置和相同并发情况下,tomcat8的吞吐量和响应时间均优于tomcat7,可更快的处理更多的用户请求,测试过程中的CPU使用率相差不大。
- 压测过程中,发现会员系统的异步记录日志消耗50%左右的cpu,目前线上日志级别是info,需根据重要程度调整日志级别。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161093.html原文链接:https://javaforall.cn