Thursday , March 21 2019
Home / PHP / Drupal Profiling & Performance Analysis for Optimization: Finding Bottlenecks in Your Application

Drupal Profiling & Performance Analysis for Optimization: Finding Bottlenecks in Your Application

This is the age of information technology. There are two most crucial & critical factors which could make or break any online business are availability and super faster loading of web pages. Hence, as a webmaster, you must need to ensure that the end-user experience of your website is robust, hassle free the same across the globe, without any drastic change in performance of the web site.

We all know Drupal is Slow, Isn’t It?

This issue gets brought up all the time when we are about to start a new project, whether it’s by developers, site owners, or bloggers. It looks like everyone knows that Drupal is slow. In fact, this debate has become so widespread that this is considered to be biggest cons of Drupal. Well the fact is everything comes at a price. I have been working on Drupal from more two years and what I have learned it that if can fix some screws you can make it run like a jaguar.

All these analysis tools tell you that there is problem, but you can’t see the bottleneck. My job here is to not only demonstrate a web analyzing tool but also put some light on how to identify and remove bottleneck form your Drupal site.

 You can do the following with the Web Page Analyzer:

  • How your website is loading 1: from an end-user perspective 2: multiple locations.
  • Web site loading in real time environment.
  • In-depth analysis of different web components.
  • Make educated decisions to optimize web site experience for visitors.
  • Different elements like total page size and further breaking it down like CSS size etc.

Performance analysis using Pingdome:

For analysis we have chosen whitehouse.org. We will perform this analysis by using Pingdome. Later we are going to explain profiling in Drupal core level.

Performance grade:  Performance grade shows, how your website compares to other websites that are tested, like Facebook.com is on 79/100, whitehouse.org is also on 79/100 and Google.com is on 90/100.

 

Requests:  The number of items exchanged in between server and client (browser), the lower number is better. whitehouse.org 72 requests whereas facebook.com has 21 requests.

Load Time: The time consumed to load a web page completely; whitehouse.org is taking 1.22s.

Page Size: The total size of actual data that physically transferred from server to client (browser), we have 1.4MB with whitehouse.org.

Below is the statistics comparison of whitehouse.org on a third party tool, without involving any network load or speed.

Profiling (Bench marking Drupal core level):

Profiling is an outstanding module we have used this module to measure time, memory, hook (functions) calls, views and profiling framework. It intensively use hooks to take punctual measures and saves it for further consulting. Below is the chart of bench marking of some major hooks in (special Drupal functions). Once you know what’s under the hood you probably know what you need to do.

The focus here is to measure the number of queries  executed in each hook and views, time and memory consumptions. According to my best knowledge number of queries on typical page should be 400~800. Below table will give you an overview of how many queries have been executed on a certain page along with the time and memory consumption.

About Sallah Ud Din Sarwar

I am a multi skilled Software Engineer with over 4 year’s industry experience in designing and developing Object oriented solutions in Multi layered & N-Tired. I have substantial success to my credit. I have consistently handled complex problems to the satisfaction of my clients by working in stressful situations. I enjoy learning and applying new technologies in a dynamic and forward thinking professional environment.

Check Also

Find Control in .NET

It is a way of handling Nested control (NET controls on NET Container Controls) because ...

Leave a Reply

Your email address will not be published. Required fields are marked *