New Relic

New Relic is one of the cooles and best performance analyse tools at the internet. It analyses your running application and throws you performance bottlenecks. They call their tools “X-Ray Vision For Developers,” and that’s almost an understatement.

So what do they provide? At first a beautiful and comprehensive interface for all performance information you need. My favourite features are “end user performance analyse” and “profiling at runtime”. And “performance at runtime” does not mean during a testrun like it is usual, it means that you profile your deployed application! You can start to optimize your app very late, and that is great. The two golden rules of optimization are:

  1. Don’t do it.
  2. (only for experts) Don’t do it yet.

And as Donald Knuth said: “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” (Knuth, Donald. Structured Programming with go to Statements, ACM Journal Computing Surveys, Vol 6, No. 4, Dec. 1974. p.268.)

New Relic gives you the possibility to optimize only the parts which are bottlenecks in your delivered application, not on stupid testing cases. And it gives you the possibility to find bottlenecks wich are not in the test cases (or not as clear as they are in the running application). It is also possible to optimize very late after the deployment eg. if user starts to behave different.

The second feature I love is “end user performance analyse”. Usually if you have a Web-Application you are using some different server on different continents to test the load speed of your application. But does it help you really to know that your application hosted in Europe loads quite fast in a data centre in South Africa? How many users of your application are sitting in a data centre? Take a look at the following scenario:

You have a really cool application. A lot of images have to be load, but you have a great CDN setup. You website loads extremely quickly on your computer and mobile phone. You test servers at the data centres saying: “Incredible speed!”. The world loves your app. Now you have started do go to Africa: big marketing, … But no one cares about your application any you wasted a lot of money. Why? It is much too slow! How can it be? In Africa you have a lot of mobile users, but no LTE, HSUPA, HSDPA, … And you had no chance to figure out that issue. With New Relic you had seen this after the first few users and you could fix it very quickly.

This post is much longer than I wanted – I only wanted to show you this video 😉