Масштабирование базы данных MYSQL для многопользовательской установки Drupal с 20 000 посетителей в день - PullRequest
1 голос
/ 15 сентября 2010

У меня есть многоузловая установка Drupal с примерно 20 URL-адресами, указывающими на одну и ту же кодовую базу и общую базу данных.У меня около 20 000 посетителей, ежедневно посещающих все сайты, которые, я надеюсь, увеличатся.

В настоящее время я использую 2 сервера: один - веб-сервер Apache 2 на платформе Linux, а другой - сервер базы данных - MYSQL.

Offlate Мой MYSQL-сервер не может справиться с нагрузкой и начинает вести себя беспорядочно - иногда выдает предупреждения, иногда не возвращает данные, иногда истекает время ожидания.Я перепробовал все методы оптимизации, но проблема, похоже, увеличилась.

Я был бы очень благодарен, если бы кто-то мог предложить мне решение этой проблемы.Поможет ли удвоение мощности сервера, или я должен использовать кластер или облако?Также было бы полезно использовать кластерный веб-уровень с балансировщиком нагрузки или просто использовать кластеризованную базу данных с оптимизацией?

Я сталкивался с этим сайтом http://www.johnandcailin.com/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites.Однако я не совсем понимаю, какую архитектуру выбрать

1 Ответ

2 голосов
/ 15 сентября 2010

Кэширование!Кэширование!Кэширование!

Если у вас не так часто и относительно статичный веб-сайт с анонимными пользователями, Boost значительно повысит производительность.Boost является статическим кешем страниц, поэтому любые попадания в кеш будут полностью обходить Drupal.

Если у вас больше зарегистрированных пользователей, вы должны настроить Memcache, который также избегает базы данных.

Установка APC - это всегда хорошая идея, но она вам здесь не поможет, если узким местом является база данных.

Кроме того, вы можете использовать модуль Devel для проверки запросов, сгенерированных Drupal, и попытаться оптимизировать некоторые из них.вещи там, например, отключение неэффективных или неправильно работающих модулей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...