What does it mean when someone says “My Site is slow now”? What is page speed? How do you measure it? How can you make it faster? We’ll try to answer these questions, provide you with a set of tools to use and explain how this relates to your server load.
We will cover:
- What is page load speed? – Tools used to measure performance of your pages and site – Six Key Improvements to make Drupal “run fast”
++ Performance Module settings and how they work
++ Caching – biggest gainer and how to implement Boost
++ Other quick hits: off loading search, tweaking settings & why running crons is important
++ Ask your host about APC and how to make sure its set up correctly
++ Dare we look at the database? Easy changes that will help a lot!
- Monitoring Best practices – what to set up to make sure you know what is going on with your server – What if you get slashdoted? Recommendation on how to quickly take cover from a rhino.
http://tag1consulting.com/files/PageLoad.pdf One pages on which there will always be a lot of objects, you can sometimes see a performance gain by serving the content from multiple domains. (For example, server1.sample.com, server2.sample.com, server3.sample.com, even if all are served from the same physical server with the same IP address). Web browsers limit the number of active connections allowed from a single domain, thus by serving content from multiple domains you can cause web browsers to download more objects on a given page at the same time. Note that on the first visit to your page, the client web browser has to do a DNS lookup for each domain that you use, so serving objects from too many domains can actually cause a slowdown. It is generally recommended to use anywhere from two to four domains, depending on how many objects you are serving per page. (Tag1 Consulting)
http://pajamadesign.com/ http://dev.mysql.com/doc/refman/5.1/en/query-cache.html http://dev.mysql.com/tech-resources/articles/mysql-query-cache.html http://drupal.org/node/51263 MySQL tips that you probably don’t want to incorporate- Make sure general query log is turned off, that can be a real performance killer- Measure benchmark performance of database with mysqlbench: http://dev.mysql.com/doc/refman/5.0/en/mysql-benchmarks.html- MyISAM vs. InnoDBo MyISAM: Faster but only table lockso InnoDB: Slower but row level locking so faster with concurrent updates- For Drupal a large query cache can be beneficial since Drupal sites usually don’t have many updates- General tuning tips and cache hit ratios: http://mysqltuner.pl/mysqltuner.pl