7

对于性能测试,我想从生产服务器捕获一些流量,并以此为基础将请求重播到测试服务器,以模拟我们开发环境中的实际负载。这些都是无状态查询,所以没有关于 cookie、会话等的问题。

Apache 日志将所有内容的时间戳精确到 1 秒,但这对于我们的高峰时间来说还不够精细。捕获更细粒度的重放时间戳的最佳方法是什么?是否有一些ab类似负载生成程序可以使用这些数据来复制负载?

4

3 回答 3

4

使用 jmeter。

https://serverfault.com/questions/84041/how-can-i-replay-apache-access-logs-back-at-my-servers-to-do-real-world-load-test

http://jmeter.apache.org/usermanual/component_reference.html#Access_Log_Sampler

就时间戳的粒度而言,您不会比这更好。但是,您可以随机化 jmeter 中的时隙。即使您的生产流量日志显示每秒点击一次,您也可以告诉 jmeter 大幅加快速度。

于 2010-04-16T21:27:30.170 回答
2

您可以捕获生产运行的网络数据,对其进行解析,然后将其用作重放机制,比较生产运行和测试运行的结果(如果需要)。Oren Eini (Ayende Rahien)在他的博客上谈到了一些非常相似的事情。

我知道有(或曾经有)一个工具可以让您根据记录的会话进行负载/性能测试,但我现在找不到它:(。

于 2010-04-16T21:22:17.713 回答
0

您还可以使用 BadBoy 捕获会话以使用 JMeter 重播: http ://www.badboysoftware.biz/docs/jmeter.htm

于 2011-03-13T16:40:01.367 回答