是否有任何工具可以记录当前访问我的生产网站的所有请求/流量,然后在不同的环境中重播此负载以检查新环境的性能?
基本上,我希望能够在aws云上测试我的应用程序的性能,以及如果它迁移到aws,需要什么配置来处理当前的生产负载。
答案 0 :(得分:2)
您可以使用JMeter's Access Log Sampler(另请参阅Access log replay for load testing? Jmeter Pitfalls and Competitors)。
这将允许您从生产服务器获取日志,并重放新服务器的流量。不确定它是否复制了确切的负载配置文件 - 真正的流量往往会在一天中传播,访问的高峰和低谷取决于您的时区和用户;它也不处理POST请求。
事实上,对于任何与检索网页无关的网络应用程序,重放历史流量可能会有问题。例如,如果用户必须登录,则需要知道他们的密码;如果他们浏览电子商务网站中的产品目录,您需要拥有正确的数据来反映记录日志文件时的目录。
在我看来,更有用的是根据您当前的流量构建性能模型,并了解您需要能够支持每个(类型)页面的页面请求的峰值数/秒。
例如,如果您知道今天有10K访客/小时,并且您知道最常见的用户旅程,您可以构建一个性能模型,将这些10K用户等同于“每秒登录页面请求数”,“产品主页请求/秒“,”支付页面请求/秒“;然后,您可以使用像JMeter这样的工具来模拟这些旅程,并提升负载直到超过目标。