2011-03-08 60 views
2

有关于此主题的类似问题我参与了它,但它并没有真正回答我现在需要的东西。如何测试您的网站对多个用户(扩展)

How to rigorously test a site?

我在服务器日志中发现java.util.ConcurrentModificationException,所以我固定的,但我还是如果有的话会出现这样或一些其他的并发没有测试它不知道。

我试过在jmeter创建测试,它只是简单的GET和模拟100个用户。

问题:

我从服务器获取一些信息时,页面加载完成,所以我(在此之前的异常,因为这部分原因)很感兴趣的那部分。

但是,jmeter只有在加载页面时才会获得页面,并且所有ajax挂起请求(如果有的话)都不会显示在日志中。其实我在日志中看不到任何东西,因为当文档准备就绪时,jmeter从未达到这些ajax调用,它会在此之前退出。

当然,当我从浏览器刷新页面时,我可以看到日志,服务器端到底发生了什么。是否有某种工具,等待所有待处理的请求,或者可以在网站上停留n个时间,还是有更智能的方法来测试这个以避免进一步的并发异常。

回答

1

AJAX请求也是简单的GET请求,所以你只需要配置JMeter来直接调用服务它们的servlet。

+0

我真的没有想到这一点,不知道如何,但我没有。 tnx – ant 2011-03-08 11:33:34

0

如果您使用Selenium而不是JMeter进行测试,那么您将生成真正的浏览器,它将像实际应用程序一样执行AJAX请求。只是因为它是正在运行的真正的应用程序。

问题是...... Selenium是用于回归测试和与浏览器的兼容性,而不是原始性能。每台计算机不能运行多个浏览器。一些公司为您的表演活动提供可以租用的浏览器集群(最多可容纳5000到500 000名浏览器用户的虚拟用户)。

您也可以在办公室使用台式计算机,比如说晚上进行测试。

我知道这可能有点复杂,不是最好的解决方案。

+0

硒是否有免费版本? – ant 2011-03-08 10:54:56

+0

@ c0mrade:Selenium是免费且开源的。你可以随心所欲地做任何事情。 – 2011-03-17 12:40:41