Настройка фермы серверов для большого сайта Drupal

Я создаю большой сайт Drupal (Pressflow), и это мой текущий план. Я пошел и сделал что-нибудь явно глупо? У кого-нибудь есть опыт хостинга такой большой многосерверной установки Drupal?

инфраструктура

3 ответа

Решение

Я бы хотел иметь пару узлов лака за HAProxy для доставки кластера HA Varnish.

Вы можете легко иметь только 2+ лаковых узла, без необходимости использования HAProxy, но тогда вы можете только балансировать нагрузку HTTP-трафика. По крайней мере, с HAProxy у вас также есть балансировщик нагрузки TCP.

Как вы думаете, как выглядит ваша сеть? Планируете ли вы иметь пару аппаратных брандмауэров HA? Вам нужны реберная маршрутизация, BGP и несколько транзитов?

Еще одна вещь, которую стоит рассмотреть, это то, как работает ваш файловый сервер. Вероятно, вы могли бы извлечь выгоду из пары файловых серверов, используя сервер хранения, такой как GlusterFS или MogileFS. Таким образом, вы можете обеспечить резервирование всей инфраструктуры.

Добавление нескольких узлов Memcached также тривиально, дает вам больше избыточности и устойчивости к скачкам трафика и аппаратным сбоям.

Убедитесь, что вы предприняли шаги для оптимизации доставки контента через интерфейс, особенно если вы ожидаете большой трафик. Храните все медиафайлы в медиа-домене, в идеале без файлов cookie, например http://blog.stackoverflow.com/2009/08/a-few-speed-improvements/ do с sstatic.net

Вы также можете рассмотреть возможность использования CDN для кэширования статического содержимого, такого как CSS и неизменяемый JS. Эта многоуровневая инфраструктура кэша сгладит эффект слэш-точки, а также даст вам больше устойчивости к сбоям. Это связано с тем, что такая большая доля запросов браузера относится к статическому контенту, который может эффективно обслуживаться через PoP в CDN, ближайший к запрашивающей стороне. Другое преимущество кэширования на нескольких уровнях (Browser, CDN, Varnish, Memcache) заключается в том, что через некоторое время все кэшируется несколько раз в нескольких местах. Это дает вам устойчивость к сбоям.

Большой друпальный сайт на самом деле ничем не отличается от большого сайта. Просто убедитесь, что у вас есть несколько уровней избыточности на каждом уровне сети.

Что касается спецификации реальных серверов, вы, вероятно, хотите>8 ГБ оперативной памяти на узлах лака.

Я бы порекомендовал сетевые платы Intel для серверов балансировки нагрузки и коммутаторы Cisco или HP Procurve для ядра вашей сети.

Ваши узлы базы данных должны быть быстрыми многопроцессорными серверами с 15k дисками SAS для скорости. Для обеспечения избыточности поместите диски 4+ в массив RAID10.

Я бы не рекомендовал делать это в среде общего хостинга. Dedicated servers might be OK, but for piece of mind, I'd be specifying a 1/4 rack in a carrier neutral datacenter. This way, you get the most freedom for the actual configuration and management of the servers.

Добавлено:

Do you absolutely need to run apache?

For the servers hosting the media files on the cookieless domain, you'd probably be better off hosting these from a lighter weight HTTP Server, Nginx is a fantastic solution for this. Apache is probably more suited to the hosting of Drupal itself, but there's no real reason you couldn't use Nginx and FastCGI for example.

Стоит упомянуть, что если вы планируете использовать https, вам нужно что-то перед балансировщиком нагрузки для обработки соединений https. Я не уверен, что лак справится с этим, но я бы порекомендовал использовать для этой работы либо nginx, либо stunnel.

Могу я просто спросить, как вы планируете внедрить отдельный файловый сервер? Это то, что я действительно после, но стандартный srupal, кажется, не поддерживает это.

Другие вопросы по тегам