海是我向往的地方,吸纳和咆哮是他的魅力!!!

连接池对性能测试施压的影响

上一篇 / 下一篇  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:

 

评分:0

我来说两句

Open Toolbar