小白请教tomcat性能优化问题,优化前和优化后压力测试结果一样。

新手上路,请多包涵

tomcat8默认配置下:
内存情况
线程情况

进行ab压力测试(400并发,1000请求)
ab命令
测试结果1

测试结果2

tomcat8修改配置:
在catalina.sh中添加jvm参数,在server.xml中修改线程参数

tomcat8默认为nio模式连接参数

重启后参数生效,内存情况线程情况

再次进行ab压力测试
ab命令
测试结果1

测试结果2

(此处修改的只是一些简单的参数,但应该是最直接有效的,简单的也不行,那高级的参数更不用说了。测试的java程序是一段正常的查询多个表数据的业务代码,起初以为是数据库方面的问题,但是发现已经启用连接池,小白刚毕业不久请求网上大佬指教。)

阅读 2.3k
2 个回答

你修改的是内存和线程数,没有因为这些参数的改变提高性能,显示之前内存也是充裕的,线程数也不是瓶颈。
优化要做的第一件事是测量,没有测量优化便没有目标,你需要测量出系统在各个阶段的耗时。数据库方面通常是耗时最严重部分。连接池解决的是缩短连接建立的时间。连接数一般默认只有20~30个(你没有提供相应信息,不清楚你的设置是多少),你的400并发显然连接池可能不足。即便充足,查询时间也不会因此减少。对数据库查询优化最有效的手段通常是适当的缓存。

优化前后测试结果一样,说明并没有优化到瓶颈上,说明系统的瓶颈不是tomcat的配置
不知道没有这么大压力的情况下系统的响应时间怎么样,如果还是这么慢的话就先优化数据库的查询之类的吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题