海是我向往的地方,吸纳和咆哮是他的魅力!!!
连接池对性能测试施压的影响
上一篇 /
下一篇 2008-05-15 09:48:08
连接池对性能测试施压的影响
2008-05-14 22:03:56 / 个人分类:性能测试与容量规划
by jack
前几天有人来问我一个关于性能测试施压时的问题:他在设计场景时,并发用户数低于50个的时候场景运行没有什么问题,但设置为60个或更高的时候出现一些502,503错误。
我去帮他看了一下,在脚本里加入了一些变量的日志输出,看了一下出现错误时访问到什么页面,以及所用的一些参数化数据;排除了数据引起问题(用日志打出来的数据手工操作是没有错误的)。多次调整了并发用户数,重现了他说的问题。
登录到服务器上看了一下上面的连接量(netstat),发现有150个之多,猜想是不是超过了apache的连接数限制;检查服务器上的httpd.conf,果然找到
MaxClients 150
这条设置。马上将参数改为1024,重启apache之后再施压,问题不再出现。
他又问,为什么60个并发用户却产生了这么多连接。检查他的脚本发现脚本中action确实是单一的访问,按说不该有这么多连接(会有少量的TIME_WAIT);再次登录服务器查看,发现了很多Foreign Address也是本机的连接,相信是应用程序本身访问造成的了。
这次的问题其实并不复杂,只是并发导致的访问超出了应用服务器设置的限制;但从中可以发现,施压的访问量并不需要达到设置的限制,连接量也有可能达到限制。这跟应用本身也有很大关系。增加压力时逐渐出现错误不要急着下结果;当然根本上的做法应该是事先将连接设置配好。
收藏
举报
TAG: