5 monitoring tools to answer “Why My Server is Slow?”

Rizqinofa Putra M
SkyshiDigital
Published in
4 min readAug 31, 2018
Meme from Imgur

Congratulations your startup finally have reached a point where traffic coming constantly to your startup. Your marketing division successfully generate lots of visitor and customers coming to your website or mobile apps. You have several marketing channels using social media such as instagram ads, facebook ads, google ads, or other local channels. But the problem is when visitors coming to your website or apps they found your server is slow loading…

It is very easy to blame your server slow is coming from your server specification, then you can upgrade the server instantly. If you have money, you can use cloud service such as AWS, Digitalocean, Vultr, Linode then instantly upgrade the server. But the question is will that solve your problem with slow?

Upgrading the server will not solve your slow apps problem. Before upgrading the server, you need to understand the problem what caused your sever to be slow. These are several monitoring tools to help you understand.

Inspector using Your Browser

First investigation please start with your browser. We are lucky all modern browsers now support Inspector as part of default browser features. Inspector will show what caused the website to be slow. If you are newbie user, then you can go to tab Networkto see is it the server is slow? Or maybe your internet connection is slow? For some cases, it is not the server which is slow, but maybe your internet connection :). If you are advanced user, then you can go to tab to Performance then create Recording Performance for your webpage.

Is it the server ? or my internetion connection is slow ?

Monitoring using NewRelic

When your server is slow, newrelic is the first aid tools that must be installed on your server. NewRelic will help you identify quickly where the problem coming from. Is it the Application layer (PHP or NodeJS), or is it the database layer, or maybe issue coming from 3rd party? or lastly maybe issue is coming from the servers?

NewRelic installation is very easy, it support several OS such as Debian, Ubuntu, Centos. It also support NodeJS, PHP the most common language for backend recently.

NewRelic Identify which Application, Database, or 3rdparty is slow?

Profiling Your Application

If you found issue coming from application layer, and luckily if you choose PHP then you can easily use XHProf to help you identify what function or modules cause the slowness of your server

Or if you choose NodeJS, then you can easily use node --prof to analyze what function is slow in your NodeJS.

Identify what function is slow on your Application (link)

MySQL Query : EXPLAIN

If you found issue coming from database layer, and luckily if you choose MySQL then you can easily use EXPLAIN query to identify what caused query to be slow. EXPLAIN query will help you to see what caused the query to be slow. Most common issues with query are : query need more indexes, query is using SUBSELECT, or query is using not optimal sort. Once you understand the problem with query, then you can take further action with configure the table or the query.

EXPLAIN query example (link)

Profiling 3rd party application

Unfortunately there is no tools to check why your 3rd party is slow. You need to email their support then ask why the service is slow. Please provide proof such as screenshot from newrelic/browser, please capture the 3rd party URL, and the response time from the server.

Average 3rdparty response time from NewRelic

Once you understand all these 5 monitoring tools, then you can take further action what to fix. Should youfix the application, or fix the query to the database, or maybe simply by contacting the 3rd party to fix their problem. When performance issue fixed, then your customer will be happy, your marketing team can continue their work, and revenue will follow :)

Please leave 50 claps if you found this article is helpful :)

--

--