Апач и С10К - PullRequest
       45

Апач и С10К

7 голосов
/ 06 марта 2009

Как Apache относится к обработке проблемы c10k в нормальных условиях? Скажите, когда выполняются очень маленькие скрипты с небольшим объемом данных, или мне нужно масштабировать, если я использую Apache?

В фоновом режиме тяжелая работа выполняется несколькими серверами, на которых работает специализированное программное обеспечение, которое обрабатывает запросы, но я бы хотел использовать Apache в качестве фронтального. Это жизнеспособный план?

Ответы [ 3 ]

8 голосов
/ 31 марта 2009

Я считаю, что Apache - это скорее сервер-источник - он запускает что-то вроде mod_php или mod_perl для генерации контента и умен в отношении маршрутизации в соответствующую систему.

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

Классическая проблема постоптимизации с Apache не генерирует динамический контент (или, по крайней мере, который может быть оптимизирован для раннего процесса), а просто ждет, пока медленный клиент сможет получить байты, которые послан. Поэтому может оказаться существенным преимуществом размещение обратного прокси-сервера в форме Squid или Nginx перед серверами, чтобы взять на себя «ложную подачу» медленных сетевых клиентов, в то же время позволяя производить контент полностью скорость и при скорости локальной сети - 100 Мбит / с или даже гигабитных скоростей - если вообще требуется обход сети.

2 голосов
/ 11 марта 2009

Я предполагаю, что вы, вероятно, видели эти данные , но если нет, это может дать вам некоторое представление.

1 голос
/ 26 мая 2011

Ребята, представьте, что вы используете веб-сервер с 10K-соединениями (одновременно). Как это может быть?

  • У вас много соединений в секунду

    • Динамический контент

      Вы уверены, что ваш процессор может обрабатывать столько PHP-сессий, например? Я думаю, нет, так почему ты думаешь о проблеме C10K? : D

    • Статическое содержимое - небольшие файлы

      И все же так много связей? На одном сервере? Возможно, у вас также есть проблемы с сетью / пропускной способностью, или вы являетесь будущим конкурентом Google. Используйте lighttpd, который решает проблему C10K и является стабильным - fly light. Использование Apache только для статических файлов для больших сайтов очевидно.

  • Ваши клиенты загружают большие файлы в течение длительного времени - статический контент

    • ISO-образы, архивы и т. Д.

      Если вы делаете это через веб-сервер - FTP может быть более подходящим.

    • Потоковое видео

      Используйте lighttpd или специализированное программное обеспечение. И все же ... А как насчет других ресурсов?

Я использую Linux Virtual Server в качестве балансировщика нагрузки перед серверами Apache (со специальными исправлениями для LVS-NAT), и я счастлив :) Эта строка - ответ, который вы хотите услышать.

...