2012-03-25 75 views
1

我使用jmeter工具测试我的应用程序。我在ELB(不是自动缩放组)后面有2个EC2 m1.small实例,2个缓存节点是巨大的RDS db(多可用区)。我的Apache(peforked)配置了默认值,如256个maxclients。两者都可以处理256-256的请求。现在当jmeter抛出500请求我看到连接超时错误在jmeter的采样器之一。任何人都可以弄清楚是什么问题?Amazon ELB + jmeter

在此先感谢。

+0

500次请求,连续? 500个线程有一个请求? – ant 2012-07-04 10:19:28

回答

0

JMeter扔什么?有几件事情可能发生。

  1. 连接重置:如果这个错误从JMeter中抛出,那么这意味着服务器已经超时并且不能支持任何更多的并发请求。即分配的256个线程全部用于服务其他请求,这基本上意味着你已经达到了服务器上的限制。

  2. “Address already in use”异常:这些类型的错误是您在进行负载测试时不能得到的错误。这基本上意味着您的系统上没有可用端口提出更多请求,并且所有端口都很忙。这可能是由于各种原因而发生的,但是您可以尝试调整系统设置(如Linux的ulimit),或者如果您使用Windows盒子,则可能需要查看tcpTimedWaitDelay和相应的设置以查看端口的平均周转时间回到活动池中,以便重新用于下一次连接。这种情况称为tcp端口耗尽(http://www.outsystems.com/NetworkForums/ViewTopic.aspx?TopicId=6956&Topic=How-to-tune-the-TCP%2FIP-stack-for-high-volume-of-web-requests

    为了解决这个问题,您还可以尝试分布式负载测试和/或使用定时器,以确保您始终拥有端口以建立新连接。

+0

服务器日志说什么?这似乎是一个负载问题。您可以尝试增加tomcat的server.xml中的max_threads,以查看您是否获得了更好的结果。 – Keshi 2012-07-10 07:16:25