American Physician Scientists Association
American Physician Scientists Association (APSA) asked us to help them with performance problems on their Drupal/CiviCRM installation. While at first glance, their site was responsive and seemed to perform well, they wanted to improve page load times for authenticated users and views generated pages.
After moving their site to our sandbox, we began high level benchmarking by comparing times between our VPS and their production host. This allows us to determine right away if there's an environmental problem affecting performance. Our hosted VPS environment is proven to perform well under load. Whether we're using it for development, load balancing, offsite backup or testing, it's always withstood anything we've thrown at it. This is the same custom VPS configuration we use when hosting clients on Linode.
We established benchmarks by timing page loads from different areas of the site including the homepage, views generated content and a 'static' Drupal page. In all, we captured timings from 10 unique areas both from the production host and our VPS. The average page load time was 5 seconds on the production host and 4.5 seconds on our VPS. While our VPS was marginally quicker it wasn't enough to recommend moving to Linode. The next step was to dig deeper and start looking for the bottleneck in the LAMP stack. Was it MySQL, Drupal, Apache or all of the above?
Our analysis revealed a high page execution time compared to query execution. Meaning, the content was coming from the database quickly but Drupal was taking a long time to build the page. In the end, we installed and fine-tuned APC, Varnish and optimized some custom code running in the theme. This dropped the page execution time down to an average of 1.4 seconds. A more detailed analysis is available for anyone interested in learning more about the tools we used.
APSA has also contracted with us for additional work writing custom event signup implementation for Drupal/CiviCRM and enhancing payment processor functionality.
We often write "throw-away" code for one-off tasks or to scratch our own itch. The source might not be immediately useful for others but the lessons learned are invaluable. We always try to blog, tweet, or share those lessons when appropriate.
- Avalanche Forecast
- Breakout in Processing
- Brewfest Mobile App
- CiviCRM Discount
- CiviCRM Profile Permissions
- Danger Rose Field
- DB Tools
- Image Node Reference
- Linode Drupal StackScript
- Liquid Planner Shell
- OpenVZ Drupal Installer
- Randstring Safari Extension
- RSRA Database
- Ubercart/CiviCRM Integration
- User Login Block
- Webform Download Archive
In the process of writing custom software for our clients, we've also contributed bug fixes, patches, unit tests and documentation to various open source projects.
All Projects
-
civicrm | drupal | performance
- 1 of 5
- ››


