16

I looked at Tools for load-testing HTTP servers? but I couldn't see how to replay my own existing logs in any of those tools. I have a bug that only occurs under certain load operations which my existing JMeter and AB testing stuff can't reproduce.

I want to simply give the tool access_logs and have it play them back, either faster or at the same speed.

5 Answers 5

17

You can use Jmeter's Access Log Sampler component.

There's a short tutorial on it's use in this PDF.

3
2

Assuming all you've got in your access log are GET requests, and you don't mind the requests bunching up at the limit of resolution of the timestamps in the logs, about 10 lines of $SCRIPTING_LANGUAGE should do the trick. POSTs, cookies, HTTP auth, and more subtle timing are a far more interesting exercise.

-1

That would require a program, such as a load-testing app, which supports http log replay. One such app is HTTPerf (https://github.com/httperf/httperf).

A how-to article is at https://www.igvita.com/2008/09/30/load-testing-with-log-replay/

1
  • 1
    This would be a much better answer if it included an actual explanation. Simply linking to an external web site is discouraged here, as web sites can and often do disappear. Mar 27, 2015 at 18:07
-2

I would do something a little differently. I do understand your question, but if your looking at loading up your server you might want to look into the 'ab' tool. It comes with most installations of apache. Running:

ab -c 15 -n 1000 http://site.name/

Will perform 1000 requests doing 15 requests at a time. I know this isn't exactly what your looking for, and this will only query the one address you give it. If you need load this is a quick way and simple way to do it, and it will give you some potentially very useful statistics for debugging.

2
  • If the question says "I have a bug that [...] AB testing [...] can't reproduce", why would you suggest using AB?
    – womble
    Nov 12, 2009 at 14:40
  • I missed AB listed in the tools. :p I'd love to say it was an edit but I'm honestly not sure myself. Nov 13, 2009 at 18:31
-2

Why don't you develop your own? Get the log; parse it. Get the URI. Make curl call. You can write this in php and run it in apache for concurrency.

If your are logs are in gz format, do a zcat, use readlog facility. That will give URL. Now use phpCurl to hit the URL. For higher throughput run it in apache (use ab to load it).

1
  • 2
    Then I'll have two applications to load test. That would be twisted. Jan 30, 2013 at 9:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .