spring 开发的单体服务,客户给的服务器配置是 4c16g ,客户让我们在上面部署我们自己的 mysql,redis,web 和 nginx,我们为了方便,全都使用了 docker 。用 jmeter 开 200 线程压测,tps 最高 400 没问题,再高就上不去了,问下大佬这个并发量正常吗? 查了下网上的资料,尝试修改了下配置如下:max-threads=800,min-spare-threads=100 ,max-connections=10000 ,accept-count=1000 ,并改了 java 启动参数-Xmx3072M -Xms3072M ,都比原来数值调大了些。结果 tps 不升反降了。到底是服务线程数不够还是数据库 io 问题?怎么定位系统瓶颈在哪里?都应该观察哪些指标?
1
Aumujun 2023-07-21 15:47:31 +08:00 1
看 load ,看上下文切换次数,看 swap 空间,看 iowait ,看系统的 sysctl 配置,看系统 tcp 相关参数配置,网络带宽,很多很多。
|