我的任务是为在Weblogic服务器上运行的Java应用程序之一寻找性能测试解决方案。需求是记录生产请求(包括POST数据的GET和POST),然后在具有生产数据库副本的性能测试环境中运行这些请求。使用生产数据测试瓶颈的性能测试应用程序
使用的生产要求,而不是测试脚本的原因是:
- 它与任何现有的测试脚本的大型应用程序,这将是AA大量的工作,写剧本,以覆盖整个应用。
- 仅当用户按特定顺序执行多个操作时,才会显示一些性能问题。
- 要使用实际的用户与系统的交互进行测试,而不是估计用户如何与系统进行交互。我们都知道用户会做我们没有想到的事情。
- 我希望能够解决性能问题,并在发布到生产之前针对固定代码重新运行请求。
我已经看过用JMeters Access Log Sampler与服务器的访问日志,不过访问日志不包含POST数据和访问日志采样只着眼于请求的URL,因此它不能模拟用户提交表单数据。
我也看过使用JMeter HTTP代理服务器,但是这可以记录只有一个用户的行为,并要求用户配置他们的浏览器使用代理。 Tsung和The Grinder存在同样的局限性。
我已经看过使用Wireshark和TCReplay,但在数据包级别的记录过多,并且不会在请求级别提供任何有用的报告。
考虑到我需要能够在发布到生产之前测试修补程序,是否有更好的方法来分析生产性能?
感谢您的回答。我认为最好的选择是使用Weblogic servlet过滤器。这使我可以访问ServletRequest对象,然后我可以取出POST数据和其他细节并将它们写入日志。然后,我可以使用日志数据作为应用程序的输入。这会对性能产生影响。幸运的是,它只需要运行一小段时间就可以获得生产交互的样本。 – JosephL 2009-11-18 22:29:35