Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

In these days we're experiencing huge (based on our recent experience) traffic on our platform, this is slowing us down to a crawl.

Today we will probably handle the problem by cutting away a couple of features, to ensure users can still have a decent experience. What I would like to do though is reproduce the outage, so we can investigate the problem and solve it.

We have a core Java api (hosted on cloudbees which uses restlet) through which most of the traffic passes, it would be useful to log all incoming requests with their payloads and later give these to a tool that would replay them. My concern is that we don't have direct access to our server, is this a blocking limitation?

I don't know if this is bad practice and there's a better way to deal with this, it's the first time I'm dealing with high load problems.

I'm currently looking at http://tcpreplay.synfin.net, to see if I can use it in our case.

Any hint would be greatly appreciated.

share|improve this question
    
My concern is that we don't have direct access to our server why not? Do you only have access through a web console or similar? –  tombull89 Nov 12 '13 at 10:54
    
If you don't have server access, would it be sufficient to use a controlled client system to generate requests with typical payloads? You can record traffic sent from the client with a tool like wireshark and replay these later to simulate multiple users. –  plasmid87 Nov 12 '13 at 11:05
    
@plasmid87 that way I would be creating all the calls myself with what I think would overload the server, I wouldn't be replicating exactly what happened. Sadly this is not sufficent, thanks anyway for the suggestion though. –  Alberto Zaccagni Nov 12 '13 at 12:31
    
@tombull89 yes, no console access. I'm starting to feel this as a huge limitation... –  Alberto Zaccagni Nov 12 '13 at 12:31

1 Answer 1

There are several ways to achieve this, it depends on what fits your needs

  • Playback your Serverlogs with a tool like apachebench (also works for non apache servers)
  • Use a Loadtesting tool like Loadimpact, some of these tools offer the option to autogenerate traffic (most of them are quite expensive)
  • Parse your accesslogs to count the requests made on each file to find out what could've caused the outage (probably not an option since you don't have shell access)
  • Record your session and click through the page/appliaction later multiply these requests and play it back from a tool of your choice
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.