16核64G SpringBoot最佳web容器选择与配置。
现在公司提供了多个16CPU 64G的服务器,我们使用springboot2.2.8 ,tomcat最大线程是2000,做下单接口测试。单个订单服务实例压测结果:2000-2200单/s ;数据库是Tidb,全是不同用户,无行锁问题,数据库操作2个add 一个update 。感觉性能不行,感觉有点低,以前没的此经验,希望大家给些参考值,和建议。
16核64G SpringBoot最佳web容器选择与配置。
现在公司提供了多个16CPU 64G的服务器,我们使用springboot2.2.8 ,tomcat最大线程是2000,做下单接口测试。单个订单服务实例压测结果:2000-2200单/s ;数据库是Tidb,全是不同用户,无行锁问题,数据库操作2个add 一个update 。感觉性能不行,感觉有点低,以前没的此经验,希望大家给些参考值,和建议。
接口的单次执行效率是怎样的呢?
尝试调低最大线程看看
第一,你希望的性能是多少?
第二,JDK可能无法充分有效使用这么大的内存和CPU,建议降低配置,试试看性能下降幅度。然后用更多更小的实例来提高并行速度。
第三,数据库和应用之间的带宽是否可以满足需求。
压测都有针对性调优:
1.你的接口单次响应时间是多少?
2.接口平均单次响应时间与服务器最大处理能力线程关系需要不断根据实际使结果来调整
3.大堆情况下垃圾回收器使用的是什么垃圾回收器
4.数据库压力有多大,缓存等开销有多大
5.不断根据压测结果分析整体性能瓶颈在哪,做出调整,达到最优
根据个人经验,压测不是一个点的事,而是一个面,包含服务器性能,线程,GC,缓存服务器压力,数据库压力等一系列组成,需要根据实际压测不断分析出性能瓶颈在哪,做出调整以达到目标
你换掉spring 性能可以提升至少一倍以上