Today, I'd like to share with you a Drupal module I made, the Performance Monitor. I covered it in my keynote at DrupalCamp Krasnodar 2016.
Let's start with the reasons why I coded this one in the first place.
At Initlab, we often receive queries (mostly from web developers) that boil down to a couple of typical issues: the site is slow after migration to another server/hosting; the site is slow and it feels like the server should be optimized for Drupal.
Now, there is a routine a good sysadmin follows when resolving such issues.
- First off, he rate page generation time.
- Then checks MySQL status and settings.
- Checks if php opcache is there and working.
- Checks if Memcached is helping with caching.
- Gathers system resources demand stats to see what needs optimisation.
In my opinion, rendering Drupal server optimization services we face the following problems.
- The customer cannot see the real results of optimization and compare the new new server to the old one.
- Sysadmin has to gather quite a lot of performance data needed for further optimization, which is the type of work far from exciting.
I searched for Drupal modules that could solve these problems. The only one I stumbled upon was Performance and Scalability Checklist, which is just a checklist with no automation and testing tools onboard.
Having not found what I was looking for, I made the module I needed myself. The Performance Monitor.
Performance Monitor is based on the Security Review module.
Main features of the Performance Monitor:
- Evaluate "Performance score" indicator using web server processing time testing with a small php script.
- System performance testing:
- CPU performance test;
- database performance test;
- file operations performance test;
- MySQL status and fine tuning recommendations.
Here are some screenshots:
Performance Monitor module will come handy to those who have their sites powered by Drupal and system administrators optimizing servers for Drupal.
Simply install the module as you normally do and activate it.
Copy file perfmon.test.php to site root folder. This file must be accessible by url http://yoursitename.com/perfmon.test.php
Launch testing in Reports -> Performance Monitor -> click “Run Testlist”
I am open to your comments and questions! Do share your feedback about Performance Monitor.