Большой Drupal Клера Виленская
Производительность на одном сервере 99 пользователей: 80% аутентифицированных 30% добавляют контент зарегистрировано 1000 пользователей 5 словарей с 300 ключевыми словами 1000 страниц, по 5 ключевых слов к каждой 2000 комментариев. Amazon EC2 Small Instance: 1 EC2 Compute Unit (эквив 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 Сервер БД Балансировщик
Реплицирование базы данных img.example.ru Клиенты Веб-сервер Файл-сервер example.ru Балансировщик Сервер БД master Сервер БД slave
Сервер БД master Сервер БД slave example.ru img.example.ru Клиенты Веб- сервер Балансировщик Сервер БД master Сервер БД slave Сервер БД master Сервер БД slave Балансировщик Файл- сервер Веб- сервер Возможности дальнейшего масштабирования системы
900 аутентифицированных и 100 анонимных пользователей Drupal на 5 серверах
Ссылки
Спасибо за внимание!