Лучший способ оптимизировать производительность для аутентифицированных пользователей?
Ключевое слово здесь аутентифицировано!
В настоящее время (насколько я знаю) фактическими способами оптимизации анонимного доступа являются статические кэши страниц (лак/кальмар/повышение).
Однако, насколько я знаю, это, похоже, не приносит большой пользы в сценарии, когда большинство ваших пользователей проходят проверку подлинности.
Помимо очевидного APC, Memcache и траты денег на аппаратное обеспечение, каков наилучший способ настройки производительности сайта с высоким трафиком, в основном аутентифицированные пользователи?
Например: drupal.org, социальные сети, сообщества и т.д.
В данный момент меня больше интересует Drupal 6, поэтому я думаю, что MongoDB пока не подает заявку...
4 answers
Каждый сайт индивидуален, поэтому для его работы потребуются разные приемы. Вот те, которые я использую для наших сайтов для повышения производительности при входе в систему.
- http://drupal.org/project/dbtuner
- http://drupal.org/project/advagg
- http://drupal.org/project/labjs
- http://drupal.org/project/css_emimage
- http://drupal.org/project/imageinfo_cache
- http://drupal.org/project/cdn
Если вы ДЕЙСТВИТЕЛЬНО хотите знать, что вызывает медленный код, получите кэширование вашего сайта. Что все это влияет на время выполнения страницы drupal?
Редактировать: Похоже, что версия кэша аутентификации 7.x начинает разрабатываться. Я им не пользовался, но кое-что посмотреть в.
Установите Кэширование страниц аутентифицированных пользователей (Authcache) и Easy authcache и напишите свои собственные плагины для легкого кэширования. Плагины позволяют получить некоторые части страницы с помощью ajax. таким образом, большая часть страницы будет кэширована, а изменяющиеся части будут получены с помощью ajax. Вы можете использовать лак и другие прокси-серверы для кэширования таких страниц.
Профилируйте свои медленные страницы с помощью XHProf. Это лучший инструмент для того, чтобы показать, какие функции работают медленно. Другим полезным инструментом является медленный журнал запросов mysql.
Drupal.org действительно работает на Pressflow 6 и использует Лак; содержимое подается с помощью балансировщика нагрузки, а ядро базы данных, вероятно, MariaDB.
Если у вас есть сайт, похожий на Drupal.org для количества зарегистрированных пользователей и для количества узлов вам следует проверить, можете ли вы использовать Pressflow; проверка того, можете ли вы использовать MariaDB вместо MySQL, вероятно, является следующим шагом.