tomcat8和tomcat7性能比较「建议收藏」

2022-09-09 10:33:50 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1. 测试情况概述

  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. 总结和建议:

  1. Tomcat8和tomcat7在相同配置和相同并发情况下,tomcat8的吞吐量和响应时间均优于tomcat7,可更快的处理更多的用户请求,测试过程中的CPU使用率相差不大。
  2. 压测过程中,发现会员系统的异步记录日志消耗50%左右的cpu,目前线上日志级别是info,需根据重要程度调整日志级别。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161093.html原文链接:https://javaforall.cn

0 人点赞