Table of Contents |
---|
Baseline Tech Specs
...
Section 1: Server
Item | How To Find | ||||
Basic | |||||
Web Server | Check the admin/reports/status for Web Server. If Apache, run this to get exact version:
Ig Nginx, run:
| ||||
Database |
| ||||
PHP Version |
| ||||
PHP Memory Limit |
| ||||
Security | |||||
SSH Access | Examine the hosting service; most services do have this. | ||||
SSH Key | Make sure they are using SSH keys for accounts instead of or in addition to a password. | ||||
Performance | |||||
Reverse Proxy | Ex: Varnish. On some Linux Distros you can see if varnish exists by running
On CentOS and other similar Linux Distros, you can check /usr/sbin for services. Or Run:
Alternatively, see if they have the Varnish module installed (on D6, they'll need to have Pressflow as well) Otherwise, may have to examine the service plan. | ||||
Key-Value Store | Ex: Memcache/Redis:
Also, you can check the modules page and see if memcache / redis is installed and configured properly. | ||||
Apache Solr | service --status-all OR examine Drupal search settings (should have Apachesolr module and/or Search API)
| ||||
OpCode Cache | Ex: APC.:
Also running php -v will give you something like:
The last line will tell you the APC/OPCache | ||||
CSS/JS Aggregation | Check the Drupal performance admin page. | ||||
Page Caching | Check the Drupal performance admin page. |
Section 2: Drupal
Item | How to find | ||||||||
Tools | |||||||||
Version Control | Go to the webroot and run "git version" | ||||||||
Drush | Try running drush in the webroot; if it exists, "drush version" | ||||||||
Directory Structure | |||||||||
Files Directory Size | Run worth it to see what size is with imagestyle/imagecache directories excluded: | ||||||||
Database Size | Run then or Run the following query that lists the sizes of all the available databases.
| ||||||||
Other “Files Directories” | See if any other large files exist in the codebase; particularly in the root of the codebase. | ||||||||
Codebase Structure | Are there non-standard directories? Is all custom code in sites/all/modules (or appropriate multisite directories)? | ||||||||
Multisite | See if directories exist for multisite in sites/ | ||||||||
Non-Drupal Code | Custom scripts are often found in the root of the codebase, check there and feel around a bit | ||||||||
Codebase | |||||||||
Contrib Codebase Quality | Run hacked module if possible. How are patches documented? | ||||||||
Custom Codebase Quality | Is the Drupal API used well? | ||||||||
Theme Layer Code | Is the Drupal API used well? Are templates misused (tons of PHP in templates instead of preprocess functions)? | ||||||||
Contributed Modules | With drush installed run this command:
| ||||||||
Content Types | Run either:
OR
| ||||||||
Views | Run either:
OR
On D6 you can get the list of all views code and db from the views_cache table with the following query:
The query only shows views that are not in code. The best solution on D7 is to use drush:
This will five you a summary at the end of both code and db views. | ||||||||
Taxonomy | In D6 you can get a table list of Vocabularies, # of terms, and content types used on with the following query:
| ||||||||
User roles | In D6 display list of roles and users per role
|
Section 3: Kalacare Content Audit
If this client will be moving into Kalacare, we need to do a deeper audit of their content types and custom functionality.
During the audit phase, we should evaluate whether we will be able to support this client effectively. Briefly look at the categories defined in the Kalacare Brief Template and evaluate the difficulty of supporting the client.
Once the client has signed a Kalacare deal, we should perform an in-depth audit with the goal of helping onboard Kalacare agents into the project.
See:
Front-End performance
A lot of drain can happen on the front end, and this can vary per browser. Lots of calls to external JS or iFrames can really slow things down.
A speed test is the best place to start:
Deeper Technical Audit
Status | ||||
---|---|---|---|---|
|
Some clients who have specific concerns or have a technical background may require further research. Here are some resources that may assist in preparing audits for them:
- Benchmarking with AB and Siege
- Google PageSpeed
- Basic Performance Audit Template
- Performance + Code Audit Template
Section 1: Performance Audit
Item | How to find |
Response Times | |
Server Response | This will vary between requests; for a quick idea, load the page in question with the Network tab open and the browser cache disabled and see how long it takes for the initial request of the HTML document to be returned. |
Render time | How long does it take for the webpage to actually render? This is best represented by the red line in the Google Network tab, which represents the "load" js event (when all images, stylesheets, js files, and other assets are loaded). The blue line represents the DOMContentLoaded event and is less important for our purposes. |
Google Page Speed | What's the PageSpeed Insights score for the URL you're investigating? Use the mobile speed and the desktop speed (mobile/desktop) in the audit. |
Performance Config | |
Image Optimization | Is the site effectively using image styles to make sure that images are an appropriate size? Bonus points if they have a system in place to handle responsive images. |