апач + lighttpd понятие переднее прокси

Использование трубы и xargs:

find ./.stack-work/install -name nonosolver-exe -print0 | xargs -0 -I{} setsid "{}" >/dev/null 2>&1 < /dev/null &
5
задан Mike 8 October 2008 в 09:07
поделиться

5 ответов

Выполнение Lighttpd позади Apache для обслуживания статических файлов, конечно, кажется braindead мне. Apache все еще должен распаковать пакеты HTTP и проанализировать запрос через его дерево синтаксического анализа, отправить запросы прокси, и затем Lighttpd должен повторно распаковать, поразить файловую систему и передать файлы обратно через Apache. Я никогда не слышал ни о ком использующем установку как это в производстве.

То, что Вы будете видеть, является людьми, использующими легкий веб-сервер как Nginx как сервер фронтэнда, чтобы служить статическим файлам и проксировать динамические URL к Apache. Или, можно выполнить Лак или Сквид как кэширующийся обратный прокси frontend, так, чтобы весь интенсивный трафик статические файлы (т.е. изображения, CSS и т.д. и любые динамические страницы Вы готовы отправить благоприятные для кэша заголовки за) был подан из памяти.

Apache может также быть оптимизирован для обслуживания статических файлов - так часто, когда я слышу, что люди жалуются на Apache, они действительно не знают, как настроить его. Они только когда-либо использовали предварительное ветвление MPM (по сравнению с потоковым или рабочим) и имеют все виды включенных модулей (обычно, они работают от пакета Apache раковины дистрибутива Linux, который создает все как модули и значения по умолчанию к включению 10-20 модулей или больше). Apache мелодии путем выключения ненужных модулей / глупых функций как поддержка .htaccess (который заставляет Apache просканировать файловую систему по каждому запросу!) сначала. (Можно также выполнить два экземпляра Apache с "легким" Apache как frontend, который проксирует к "тяжелому" Apache для динамических запросов..., возможно, frontend является поточным, но бэкенд является предварительным ветвлением, потому что необходимо выполнить небезопасные потоком внешние модули как mod_php.)

Ре:

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

Если Вы порождаете процессы по каждому запросу, то это означает использование предварительного ветвления MPM. Следует иметь в виду, что, когда ОС сообщает об использовании памяти для каждого из этих процессов, не, вся эта память соединена проводом, много тех процессов неактивно. И когда Вы говорите о скорости, Вы заинтересованы больше с парсингом запроса и внутренними ответвлениями кода для данного запроса (сколько обработки сервер делает?), чем с использованием памяти, о котором сообщает ОС.

Например, при включении чего-то как mod_php затем каждый из тех рабочих процессов собирается немедленно повыситься приблизительно 20-40M (в зависимости от того, что включено в интерпретаторе PHP), но это не означает, что Apache использует ту память по статическим запросам. Конечно, если бы Вы оптимизируете свой сервер для максимального параллелизма на маленьких статических файлах, затем разрешение mod_php все еще было бы очень плохо, Вы не собираетесь быть способными соответствовать почти, поскольку много предварительных ветвлений обрабатывают в RAM.

Я, вероятно, мог придумать "конфигурацию кошмара" для Apache, который сделает ее на самом деле более медленными служащими статическими файлами, чем проксирование тех запросов к бэкенду Lighttpd, но она включила бы активирующие дорогие опции как .htaccess в Apache, которые отключены в Lighttpd, таким образом, это действительно не было бы справедливо.

9
ответ дан 13 December 2019 в 19:38
поделиться
  1. Если Вы все еще имеете право служить статическому и динамическому контенту от той же машины (как они в Вашей статье, на которую ссылаются, делают), то я действительно не вижу никакой смысл в той установке.
  2. Возможно, это действительно уменьшает Загрузку Apache, потому что это не должно делать IO к диску, но это увеличит Загрузку Lighttpd на той же машине и таким образом сокращении доступной загрузки в апача...
  3. Возможно, доступ Lighttpd IO легче, чем доступ Apache 1.3, но почему не только переключаются на Apache 2 или Lighttpd полностью? И если производительность действительно начинает сосать, разместите статические файлы на другой машине (media.yourdomain.com).

Я маленькое введение в то, как можно сделать производительную установку, найден здесь: Развертывание Django-> прокручивает к Scaling некоторая страница перед концом

2
ответ дан 13 December 2019 в 19:38
поделиться

Вам не породили процесс Apache для каждого запроса - статические файлы (изображения и т.п.) выбираются непосредственно lighttpd.

0
ответ дан 13 December 2019 в 19:38
поделиться

Я не знаю много о внутренних работах Apache, но одно объяснение, которое я видел, о давлении памяти. Короче говоря, Apache пытается сбалансировать память, которую он использует для кэширования и для динамических страниц; но обычно заканчивается со слишком большим количеством кэша и слишком мало для приложений. Если Вы разделите их к различным процессам, то каждый оптимизирует для вида загрузки.

В настоящее время то, что я делаю, использует nginx в качестве фронтэнда. Это действительно быстро и легко, и специально предназначено как прокси frontend; но также и подачи статические файлы. На самом деле, так как это может также назвать процессы FastCGI, Вы могли избавиться от Apache и все еще извлечь пользу из процессов файла/приложения разделения. (и существует некоторое дополнительное memcached волшебство, которое смотрит абсолютно гений),

(Да, lighttpd может также использоваться в качестве frontend к Apache и/или FastCGI),

0
ответ дан 13 December 2019 в 19:38
поделиться

Используйте Apache Рабочий MPM fastcgi, это понизит Вас использование памяти сервера. Рабочий MPM служит статическому содержанию лучше затем Предварительное ветвление и на одном уровне почти с lighttpd когда дело доходит до статического содержания.

0
ответ дан 13 December 2019 в 19:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: