I have been using Drupal for four years now and still find resource memory optimisation a black art. Most of my sites are low/medium traffic and low/medium complexity. I have on too many occasions struggled with sites slowing to a crawl or white screen of death and used the many suggestions of the community to try and get to the bottom of things, with varying success.
One of the challenges is that although many host companies are 'Drupal friendly' they are not optimised for Drupal. I considered using Acquia as a host but the annual hosting is just too much for the small companies I support.
On a positive note I have come across a webhosting company, http://druhosting.com that specialises in Drupal. I have challenged them to work with me on blue sky project to establish (for their environment) which optimisation techniques give the biggest bang to buck ratio. My idea is to create multiple copies of say Commerce Kickstart distribution and then on each one start optimising and compare results.
My reason for contacting this group is to get suggestions of which techniques would be the most important ones and also the best ways to test and compare.
I am aware that every Drupal site is different but there must be a say 10 point plan of things that every drupal site should do that would really make a difference rather than leave all the settings as they are out of the box.
Maybe it could result in a decision tree workflow where new Drupalers could answer a set of simple questions about their site, e.g. high traffic, do you have more than x views etc and be pointed to which fixes would be best.
I just seem to spend as much time dealing with performance issues on a project as I do actually designing and creating the Drupal site - that cant be right and I hope that this project may benefit the wider community.
Regards
Joe
Comments
Essential Tweaks
Perhaps this other post within this group would be helpful in your endeavours:
https://groups.drupal.org/node/300883
Essential Tweaks
Perhaps this other post within this group would be helpful in your endeavours:
https://groups.drupal.org/node/300883
Front-end Performance
As a front-end developer and site-builder, I work primarily with contrib modules and the theme layer. I'm sure there are useful practices and caveats for managing performance from the front end, and it would be great to compile these too.
Once a caching solution has been installed and modules like Devel/Performance enabled, I'm not always sure where to begin in troubleshooting poor performance.
Of course there's "don't enable every possible module," but perhaps there are more nuanced hints we could assemble as well.
For example:
Some resources that may be helpful
If you're talking about frontend in terms of the HTML/CSS/JS that you're serving, perhaps you'll enjoy watching a few of these presentations:
Basics: http://chicago2011.drupal.org/sessions/faster-front-end-performance
This session talks about the lowest hanging fruit in frontend perf. Creating sprites, moving scripts to the bottom, and using drupal features such as aggregation. Discusses tools like Yslow which identify bottlenecks for you and offer suggestions to improve the performance of your pages.
Intermediate: http://munich2012.drupal.org/program/sessions/high-performance-theming.html
This session talks about moving beyond the basics and integrating some of these concepts into more complex websites such as RWD contexts. Conditional loading, build tools, more testing tools, and other topics like data URIs for small images.
Advanced: https://prague2013.drupal.org/session/frontend-ops
Although it's not recorded at the time of this post, this session will build on the previous one, discussing the relatively new frontier of frontend devops. It will feature more build tools, newer testing tools, and methods to automate some aspects of frontend perf testing, allowing you to test on a per-branch or per-commit basis using CI tools like Jenkins. Hopefully it will be a full presentation in Prague but if not it will eventually surface at another event like BADCamp or something.