Назад | Перейти на главную страницу

Установка Wordpress на двух серверах - балансировка нагрузки

Мне нужно установить wordpress (один блог, один домен, например, mycompany.com/blog) на двух серверах, использующих одну базу данных на другом сервере, эти два сервера находятся за балансировщиком нагрузки, а база данных будет на другом сервере. Мы планируем этот путь из-за высокой посещаемости.

Я выполнял автономные установки Wordpress на одном сервере в Windows 2003, 2008 с IIS6, 7 и т. Д.

Я просто изучаю, как бы это реализовать.

Каковы были бы шаги для достижения этого, и после поиска я увидел несколько сообщений о каталоге wp-content / uploads, которые должны синхронизироваться через регулярные промежутки времени?

Ваша помощь очень ценится Спасибо за чтение


Что мы сделали :

a) У нас есть два веб-сервера, подключенных к кластеру san b) создан каталог блога на san c) сопоставлен этот каталог блога как виртуальный каталог на обоих веб-серверах d) Wordpress установлен на любом из них (как домен и виртуальный IIS. каталоги одинаковы для обоих серверов - например, www.abc.com) e) База данных для этого блога находится на двух MySQL Box

поскольку Wordpress находится на san, поэтому никаких конфликтов с загрузками или чем-то подобным, URL-адрес блога - www.abc.com/blog, и именно так он настроен для обоих.

Надеюсь, это кому-то поможет!

Если эти каталоги должны быть идентичными, не могли бы вы разместить их на другом сервере и смонтировать удаленно через NFS?

Существует так много способов улучшить производительность Wordpress, которые не требуют второго сервера и балансировки нагрузки. В двух словах: «все кешировать».

  • Используйте кешер кодов операций php (APC). Вы можете легко достичь 90% попаданий в кеш с помощью wordpress, занимая менее 64 МБ памяти.

  • Включите кеш запросов mysql. Вы можете легко достичь 65% или> попаданий в кеш с очень небольшим количеством памяти (зависит от сайта, но никогда не слишком высоко).

Самое главное:

Wordpress - это сайт с большим объемом "чтения" (по сравнению с записью), большинство запросов ограничено несколькими сотнями страниц (сообщения в блогах). Вы можете увеличить количество запросов в секунду в 10 раз, обслуживая статические версии ваших самых популярных постов. Лучший плагин для этого: wp-super-cache. Я не уверен, совместим ли этот конкретный плагин с 2k3, но общая идея автоматического создания статических версий ваших страниц и периодического их обновления для включения новых комментариев, правок и т. Д. Будет вашим лучшим выбором.

Я действительно сомневаюсь, что ваш сайт будет иметь достаточно трафика, чтобы потребовать два веб-сервера / сервера приложений, если будут реализованы вышеуказанные общие улучшения (приведенное выше может легко справиться с эффектом слэш-точки). Однако два веб-сервера добавили бы уровень отказоустойчивости. Поскольку производительность может быть достигнута с помощью одного веб-сервера, отказоустойчивость может быть достигнута с помощью активной / пассивной настройки. Это будет проще и не потребует совместного использования информации о сеансе.

Мы столкнулись с той же ситуацией, в конечном итоге установили плагин s3, в котором размещается ваш каталог загрузок wp, поэтому вам не придется заниматься синхронизацией.

Это тот, который мы использовали: http://tantannoodles.com/toolkit/wordpress-s3/

До сих пор он работал отлично!

Вы должны разделить между серверами каталог загрузок / и каталог сеансов, обычно в / tmp

Измените его в php.ini и поделитесь fs для сеансов и загруженных файлов между серверами через samba, nfs или что вам больше нравится.

Во-первых, ответьте на очень похожий вопрос, который вы, вероятно, найдете здесь полезным: Репликация SAN + MySQL - это то, что я хочу для своего кластера Drupal с балансировкой нагрузки?

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

сеансы лучше разделять через memcache, чем через файловую систему.

В паре Linux я бы использовал DRBD. Эквивалент Windows - это распределенная файловая служба.

http://technet.microsoft.com/en-us/library/cc753479%28WS.10%29.aspx