曾经遇到一个非常古怪的Request timed out 问题。每天偶尔出现几次,也无法重现!StackTrace 非常不给力,基本上给不出任何有用的信息。
网上放狗搜,竟然建议dump 内存,研究dump出的东东,搞死人!
没办法,在Request timed out发生的时间点仔细查看了日志文件,发现一分钟内某个网页竟有20个Request,非常奇怪,一般用户不应该有这么频繁的访问一个网页。问开发人员,开发人员说有可能,因为提供了很多复选框过滤器供用户缩小范围,但是这个逻辑的实现竟然是在服务器端实现!
这样因为有很多复选框过滤器,所以有的用户狂点过滤器,很快就造成服务器过载,Request timed out 就产生了。
解决办法,就是把过滤的逻辑放在浏览器端实现就可以了。