4

I am attempting to determine what can possibly be the causative factor for 20+ second response times from a Rails 3 application located in EC2 using Elasticache. I have reason to believe the problem is in fact cache related, but I have no numbers to prove it. I'd like to get those numbers. For the sake of completeness, we're running the applications atop Ubuntu 12.04 .

Searching Google, I found nothing directly relevant to my situation, and no StackOverflow topics I could find were even remotely relevant to my situation. If anyone can point me to some documentation on the matter, I'd be quite appreciative. Thank you!

2 Answers2

1

I've found the best tool for this to be New Relic.

http://newrelic.com/

I don't work for them and get no benefit from you trying them.

They have a free level that you can start with. If you go up to the non-free version you can literally trace all your requests through different models and into the database telling you how long the app spent in each section. It's a great tool for profiling.

Kevin Bedell
  • 13,254
  • 10
  • 78
  • 114
  • 1
    Hi Kevin. Alas, this specific portion of our Rails application doesn't employ many models or any databases; it does make extensive back-end API calls though. Can it also be used to isolate long-running method invokations or RPC calls? (While I'm waiting for your response, I'll review the NewRelic website. Thanks for the tip!) – Samuel A. Falvo II Jun 25 '12 at 21:47
  • 1
    NR does have support for background processing (example DelayedJob), in addition, it will show you performance of connections to external services - hard to really say without understanding more about your app. – Brian Jun 25 '12 at 22:40
  • I'd try it first. It's pretty easy to setup and even the free version has value. – Kevin Bedell Jun 26 '12 at 01:45
1

Do you, by any chance have access to standard web logs including URLs and response times?

I faced a similar situation, searched the web, found nothing relevant, and eventually decided to roll my own, which I shared in this SO post:

Profiling a multi-tiered, distributed, web application (server side)

While it is far from perfect and may be too high level for some use-cases, it gave me a pretty quick and broad insight into where the application I was trying to profile is spending most of its time in, and what the slowest parts are. HTH.

The best parts of it are that:

  • It is 100% platform and programming language independent.
  • It is a 100% free software solution
Community
  • 1
  • 1
arielf
  • 5,802
  • 1
  • 36
  • 48
  • Alas, I no longer work at the organization where this problem is relevant, but thanks for contributing. I hope others who suffer my former fate can find this useful. – Samuel A. Falvo II Apr 18 '13 at 20:19