Большой Drupal Клера Виленская Производительность на одном сервере 99 пользователей: • 80% аутентифицированных • 30% добавляют контент • • • • зарегистрировано 1000 пользователей 5 словарей с 300 ключевыми словами 1000 страниц, по 5 ключевых слов к каждой 2000 комментариев. Amazon EC2 Small Instance: 1 EC2 Compute Unit (эквив.1.0-1.2 GHz Opteron \ Xeon), 1.7 GB RAM Как сделать быстрее? • Больше памяти • Только необходимые модули • Отдельные обработчики для запросов AJAX • Меньше JOIN`ов больших таблиц • Грамотно написанные модули под конкретную задачу • Чтение из MyISAM, чтение и запись - InnoDB • Легкий веб-сервер (nginx, lighttpd) • Тонкая настройка PHP и MySQL Еще быстрее? • Кэширование – Advanced cache – Memcache API and Integration • Кэширование байт-кода PHP (Opcode Caching) – eAccelerator Использование memcached Использование eAccelerator Диаграмма статистики использования процессора без кэширования байт-кода PHP Диаграмма статистики использования процессора с кэшированием eAccelerator Больше? • Разделение веб-сервера, сервера для статических файлов и сервера базы данных • Создание кластера веб-серверов • Масштабирование базы данных Разделение веб-сервера, сервера для статических файлов и сервера БД Клиенты img.example.ru Файл-сервер example.ru Веб-сервер Сервер БД Создание кластера веб-серверов Клиенты img.example.ru Файл-сервер example.ru Балансировщик Веб-сервер Веб-сервер Сервер БД Реплицирование базы данных Клиенты example.ru img.example.ru Файл-сервер Балансировщик Веб-сервер Сервер БД slave Веб-сервер Сервер БД master Возможности дальнейшего масштабирования системы Клиенты example.ru img.example.ru Балансировщик Файлсервер Балансировщик Файлсервер Сервер БД slave Файлсервер Сервер БД master Балансировщик Вебсервер Сервер БД slave Балансировщик Вебсервер Сервер БД master Вебсервер Сервер БД slave Сервер БД master Drupal на 5 серверах 900 аутентифицированных и 100 анонимных пользователей Ссылки • http://drupal.org/ • http://groups.drupal.org/high-performance • http://2bits.com/ • http://www.johnandcailin.com/category/blog-tags/drupal • http://krisbuytaert.be/blog/?q=taxonomy/term/484 • http://www.lullabot.com/ Спасибо за внимание!