我希望对我网站的1000万用户进行负载测试。该网站是基于Java的Web应用程序。我的做法是为所有链接创建Jmeter测试计划,然后为这1000万用户生成报告,并使用jvisualVM进行性能分析以检查是否存在任何瓶颈。
有更好的方法吗?有没有现成的演示文稿可以参考?由于这是我第一次做,所以任何帮助都将非常有用。
我希望对我网站的1000万用户进行负载测试。该网站是基于Java的Web应用程序。我的做法是为所有链接创建Jmeter测试计划,然后为这1000万用户生成报告,并使用jvisualVM进行性能分析以检查是否存在任何瓶颈。
有更好的方法吗?有没有现成的演示文稿可以参考?由于这是我第一次做,所以任何帮助都将非常有用。
仅仅因为你的数据库里有1千万用户,并不意味着你需要使用那么多用户进行负载测试。想一想 - 你的网站真的会有1千万 同时 在线的用户吗?对于Web应用程序,100:1的比例是很普遍的,也就是说,在任何时刻,你都不太可能有超过100K的用户。
JMeter能承受那种负载吗?我怀疑。请尝试使用faban。它非常轻量级,可以支持单个虚拟机上的数千个用户。您还可以在创建工作负载方面具有更好的灵活性,并且还可以自动监视整个测试基础架构。
现在进行分析部分。你没有说你正在使用哪个服务器。任何Java应用服务器都会提供足够的监控支持。商业服务器提供漂亮的GUI工具,而Tomcat通过JMX提供广泛的监控。在深入到JVM层之前,你可能需要从这里开始。
对于JVM来说,在运行如此大的性能测试时,你真的不希望使用VisualVM。除了支持这样的负载之外,我假设你正在使用多个应用服务器/JVM实例。主要的性能问题通常是GC,因此使用JVM选项来收集和记录GC信息。您将不得不对数据进行后处理。
这是一项非常棘手的练习 - 祝你好运!
我在博客中介绍了我的性能测试步骤:
详细解释请参见:http://www.daemonthread.com/2011/06/site-performance-tuning-using-jmeter.html