Drupal Load Balancing - PullRequest
       1

Drupal Load Balancing

2 голосов
/ 06 января 2011

Итак, у нас есть веб-сайт drupal 6, который работает хорошо, но теперь мы хотим подготовить его для трафика lot , поэтому следующим шагом будет создание 2 веб-серверов, работающих на одном сайте ( база данных уже запущена на отдельном сервере), а затем используйте другой сервер для балансировки нагрузки между этими 2.

Итак, вчера я отразил файлы исходного сервера drupal (который работает, скажем, на www.example.com) на новый сервер (который работает, скажем, на 123.123.123.123 - просто IP, без домена), чем отредактировал файл settings.php второго файла, чтобы убедиться, что базовый URL-адрес равен 123.123.123.123.

как только я перешел к 123.123.123.123, чтобы проверить, работает ли зеркало сайта, у меня появилась пустая страница ... глядя на источник, базовая структура была там, но без контента, и CSS указывал на правильное место, но все еще не отображается .. Я решил перейти к 123.123.123.123/admin/ и посмотреть, что я мог сделать .. пошел на производительность сайта и очистил кеш, ничего не делал, но потом я заметил оригинал drupal теперь показывал пустым ... так что я пошел на www.example.com/admin/, также очистил кеш, сайт вернулся, но оказалось, что маршрутизатор меню был разрушен, потому что я везде получал "страницу не найдена". Поэтому я перешел на страницу модулей и нажал «Сохранить», чтобы перестроить маршрутизатор меню. Это помогло, сайт вернулся в работу и работал хорошо.

Очевидно, я перестал возиться с 123.123.123.123 и решил, что пришло время обратиться за помощью к экспертам ...

Что я делаю не так? Любая помощь будет принята с благодарностью !!

Julien

1 Ответ

3 голосов
/ 06 января 2011

Не думаю, что из коробки вы можете сделать это с помощью D6.

Есть пара вещей, которые вас поймут.

  • Настройки сохраненыв базе данных, поэтому, если ваши серверы не идентичны, один сервер не будет работать.
  • База данных не настроена для работы с несколькими серверами, обращающимися к ней.Это может привести к состязанию или возникновению взаимоблокировок.
  • Загруженные или сгенерированные файлы не будут отражаться на обоих серверах, поэтому файлы будут отсутствовать.

Возможно, есть и другие вещи, но этого достаточно дляпродолжаем с.

Таким образом, у вас есть два варианта:

  • Используйте что-то вроде pressflow, совместимое с D6 и имеющее опции для работы на зеркальных серверах.
  • Настройкаваш сервер для обработки нагрузки.

Настройка вашего сервера может быть хорошей отправной точкой.Вот несколько советов

  • убедитесь, что включено кэширование Drupal
  • Используйте кэш optcode, такой как apc, см. Некоторые тесты здесь
  • Установкамодуль кеш-маршрутизатора для использования apc для кеша Drupal
  • установить модуль Boost

Здесь есть гораздо более глубокая статья здесь

Я хотел быПредлагаю прочитать статью и сделать все возможное на одном сервере.Хотя можно использовать 2 или даже 200 серверов, это значительно усложняет вашу систему.

...