nginx+tomcat响应慢

wangjie142 发布于 2015/06/19 22:17
阅读 1K+
收藏 0

系统采用springmvc+hibernate构成。数据请求以http 接口的形式,对外开放,并发量很大,现在运行一段时间发现一个问题,当发起一个请求时,响应时间特别长,最长超过一分钟。

实在找不到是什么问题,请个位高手给支支招,帮我分析一下有什么解决方案。

加载中
0
雨翔河
雨翔河
缓存做的好吗?
0
G
Garog

因为不清具体你的服务器负载情况。一般的分析要定位一下是那一层出问题了。

网络问题

应用层问题

(cpu,io负载情况,

 数据库(sql是否要优化, 是否使用缓存,数据库参数调优),

    tomcat (HTTP相关参数)

    程序代码(是否算法可以优化,是否使用缓存)

如果并发量很多,就要考虑是不是架构上优化,水平扩展?

 

0
Feng_Yu
Feng_Yu

如果响应时间特别慢需要看一下负载。主要是进程的CPU和内存消耗,看看是什么进程cpu消耗高。

通常不会是nginx的问题,一般常见的就是tomcat负载高,或者mysql负载高。分别说一下。如果是tomcat负载高,那么基本上是页面代码设计问题,这个页面设计不合理,导致长时间执行CPU密集型的操作,返回慢。如果是mysql负载高,那么可以在mysql的shell上敲一下show processlist;,看看是什么sql导致的,说明你需要针对这部分sql做优化,以上。

0
zigzagroad
zigzagroad
如果访问量相当,刚开始的访问速度正常,后来才反应慢,那么就要注意观察系统资源占用的问题了;这种情况可能是系统资源不够,导致频繁切换资源而反应缓慢。
0
轻装上阵__
轻装上阵__

大部分慢的原因都是没有设置超时时间

proxy_connect_timeout 1; 

很奇怪的是 就算是没有配置它默认的60秒时间 也应该得到响应里面nginx立马返回才对

可是偏要等你满了60秒才返回,不知道是不是nginx在window下的一个bug,还是需要再设置什么。

返回顶部
顶部