单机服务器如何充分利用服务器性能,达到最大并发量?
23号当天12点一瞬间有大量的用户涌进来,具体多少人不好说,我看TCP链接是6千左右。
我的服务器配置如下:
数据库是使用阿里云的PolarDB,8核32GB,有读写分离,最大IOPS是64000,我查看过数据库相关压力,数据库几乎没有波动,排除是数据库原因造成的,我们的业务相对简单,且大部分查询是单表查询,数据量很小。
服务器是使用阿里云的ECS,8核16G,CPU占用最高不到百分之二十,基本都在百分之五左右,内存占用也没有什么波动,CPU和内存没有充分得到利用。
我是使用的spring boot 部署,容器是tomcat,配置如下:
server.tomcat.accept-count=500 server.tomcat.max-connections=30000 server.tomcat.max-threads=2000 server.servlet.session.timeout=3600s server.max-http-header-size=1024000
我启动的时候给JVM分配了内存,命令如下:
nohup java -server -Xms10240m -Xmx10240m -jar xxx.jar &
另外我使用的是nginx代理到tomcat的,当天高峰期服务瘫痪的时候,nginx部署的另外一个静态页也同时不能访问,所以我怀疑是nginx或tomcat在哪一个环节出现了问题。
以下是当天12点-16点的一些服务器监控截图:
所以我想请教一下大家,这是哪个环节的问题造成了瓶颈,有哪些优化方案?



