各位大牛:
小弟项目上使用Nginx+Tomcat搭建的服务器,在自己做的应用性能监控上发现有比较严重的延迟,如图所示:
于是小弟查看Tomcat日志,也发现了对应问题:
但是查看GC日志,并不是Full GC引起的,而是程序本身执行耗时:
但是程序本身应该不会执行如此长的时间,只是生成一个全局唯一ID的逻辑(不存在并发,资源抢占的问题),小弟百思不得其解.
然后查看Zabbix对Tomcat HTTP Connector Worker Threads的监控:
发现出现HTTP Connector threads allocated值陡增的时间与服务响应延迟严重时间非常吻合,因此引起了小弟的怀疑,但又不知其所以然,还望各位大牛给小弟答疑解惑,或者有遇到类似问题的能够给小弟指点迷津,不胜感激.
附上Tomcat配置:
- <Connector executor="tomcatThreadPool" port="${tomcat.http.port}" protocol="org.apache.coyote.http11.Http11NioProtocol"
- connectionTimeout="20000"
- redirectPort="${tomcat.redirect.port}"
- maxThreads="500"
- minSpareThreads="20"
- acceptCount="200"
- enableLookups="false"
- compression="on" />