22

The keyword here is authenticated!

Currently (as far as I know) the de-facto ways to optimize for anonymous access are through static page caches (varnish/squid/boost).

However, as far as I know this doesn't seem to do much good in a scenario where most of your users are authenticated.

Besides the obvious APC, Memcache and throwing money at hardware, what is the best way to performance tune a high-traffic site with mostly authenticated users?

For example: drupal.org, social networks, communities, etc.

I'm more interested in Drupal 6 at the moment so I guess MongoDB doens't apply for now...

13

Every site is different, thus it will require different tricks to get it working. Here are the ones I use for our sites for logged in performance.

If you REALLY want to know what is causing the slow code, get a cache grind of your site. What all contributes to drupal page execution time?

edit: Looks like the 7.x version of Auth Cache is starting to be developed. Haven't used it but something to look into.

  • Thanks for the tips, some interesting modules there! I'm gonna leave this open for a couple more days though :) – Alex Weber Apr 2 '11 at 18:57
  • I seem to remember a gdo thread somewhere sometime where you were talking about using ESI for Drupal blocks. Do you know where we're at with that? – Andy Apr 8 '11 at 8:06
  • 6.x - drupal.org/project/esi 7.x - drupal.org/project/esi_api Still haven't used it in production yet; have used it on our test servers and it seems to work. – mikeytown2 Apr 8 '11 at 17:18
  • 1
    @mikeytown2 You are the all time performance star! – AyeshK Jan 29 '13 at 18:50
4

Install Authenticated User Page Caching (Authcache) and Easy authcache and write your custom plugins for easy authcache. Plugins makes some parts of the page to get with ajax. so big part of page will be cached and a changing parts will be got with ajax. You can use varnish and other proxies to cache such pages.

3

Profile your slow pages with XHProf. Thats the best tool around for showing which functions are slow. The other helpful tool is the slow query log of mysql.

2

Drupal.org is really running on Pressflow 6, and using Varnish; the content is served using a load balancer, and the database engine is probably MariaDB.

If you have a site that is similar to Drupal.org for the number of registered users, and for the number of nodes, then you should verify if you can use Pressflow; verifying if you can use MariaDB instead of MySQL is probably the next step.

  • Interesting, I didn't realize Drupal.org used MariaDB... does it offer that much of a performance improvement? – Alex Weber Apr 1 '11 at 16:29
  • About 10%, we use MariaDB as well. I want to evaluate percona.com/software/percona-server next as it seems to be moving forward at a fast pace. – mikeytown2 Apr 1 '11 at 16:34
  • Interesting stuff! – Alex Weber Apr 2 '11 at 18:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.