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

настройка веб-сервера с высокой нагрузкой

Я готовлю настройку сервера для сайта знакомств, который должен обрабатывать около 5 000–10 000 запросов в секунду для основного сайта.

Моя идея заключалась в следующем:

Сервер для статического контента (css, js, img) :: Varnish cache => nginx webserver

Сервер для фотографий участников :: [1] Varnish cache => [n] веб-сервер nginx

Сервер для членских видео и потоковой передачи :: веб-сервер nginx с Erlyvideo или Wowza (только платный член)

Сервер для веб-приложения :: [1] nginx (при необходимости в качестве кеша) => [n] Веб-сервер HipHop или Apache mod_php nolog

это нормально или есть способ лучше?

Мы разработали веб-приложение с настраиваемым фреймворком и максимально оптимизировали его, в результате время выполнения для каждого сайта не превышает 0,05 секунды (без кеша) 0,0009 секунды (с apc или memcached) на 3-летней разработке. веб-сервер с apache и mysql.

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

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

Самый большой выигрыш, вероятно, заключается в том, что вы умалчивали: сколько пользователей потокового видео, насколько хороша / плохая структура и насколько загружена база данных.

Также обычно показатель изменения игры - это количество зарегистрированных пользователей, которых вы ожидаете от этих 10К страниц.

Единственный способ узнать, какое оборудование вам нужно, - это провести соответствующие тесты производительности вашего готового к работе программного стека. Если можете, делайте это постепенно и оптимизируйте узкие места.

Кстати, если вам нужна помощь в масштабировании или оптимизации производительности: я доступен для проектов.

поставьте балансировщик нагрузки перед всем этим, чтобы вы могли включать и выключать серверы, распределять нагрузку [предпочтительно для всех типов контента - как статического, так и динамического]. [вы можете использовать nginx или varnish в качестве обратного прокси для этого, а если этого недостаточно - поместите кластер LVS или haproxy серверов для распределения нагрузки между несколькими обратными прокси-серверами].

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

может есть смысл переложить статический хостинг на какой-нибудь cdn?