Перейти до

Рекомендованные сообщения

Опубликовано:

Цікаво, чи хтось умудрився розігнати апач до максимального використання ресурсів, і максимально можливої швидкості віддачі контенту?

Дивно, що апач з більшим потоком віддає згенеровані РНР дані (порядка 30 мбіт/с), аніж статичний контент (від 50 кібт до 2 мбіт). І ще не зрозуміла закономірність, в одній і тій мережі різним клієнтам різна швидкість. При тому сервер не їсть ресурсів майже ніфіга.

Зараз важкий контент віддається через ФТП, подумую про звязку з ngnix. Але все таки може є метод розгону? :)

Опубліковано:

На власному досвіді - апач успішно віддавав тяжку статику на швидкостях ~600Мбіт, далі все впиралось в далеко не найкращі мережухи/вінти. Використання nginx як фронтенду до апача помітного приросту швидкодії не дало.

 

Хазяйці на замітку:

1. багато памяті (форки-форки-форки)

2. Accept-фільтри

3. ввімкнути sendfile

4. можливо ввімкнути ММ?

5. фастфорвардинг?

Опубліковано:
Цікаво, чи хтось умудрився розігнати апач до максимального використання ресурсів, і максимально можливої швидкості віддачі контенту?</div>

<div>Дивно, що апач з більшим потоком віддає згенеровані РНР дані (порядка 30 мбіт/с), аніж статичний контент (від 50 кібт до 2 мбіт). І ще не зрозуміла закономірність, в одній і тій мережі різним клієнтам різна швидкість. При тому сервер не їсть ресурсів майже ніфіга.<br />

Зараз важкий контент віддається через ФТП, подумую про звязку з ngnix. Але все таки може є метод розгону?

 

Проблема при раздаче статики находится намного глубже чем настройки.

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

 

ngnix - это синхронный сервер, с асинхронным вводом-выводом. Это значит что при запросе на статику, ngnix не создает отдельный тред или форк процесса, он якобы говорит дисковой системе: "мне нужно 100500 байт вот такого файла, когда будет готово дай знать, а я пока займусь другими делами". И все это происходит в пределах одного процесса. В результате идет экономия на оперативке и на процессоре за счет меньшего количества переключений контекста.

 

Так что не пытайтесь на белазе обогнать болид формулы 1. Под каждую задачу используйте заточенные для этого решения.

Опубліковано:

Ставь сразу nginx на отдачу статики, проверено.

 

p.s. Ziki, Nginx — это асинхронный сервер ;)

Опубліковано:

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

насколько сильно жрет апач проц и память в момент отдачи статики? если запустить закачку в несколько потоков - насколько будет меняться скорость каждого потока по сравнению с закачкой в 1 поток?

идей, честно говоря, пока нет.

Опубліковано:

p.s. Ziki, Nginx — это асинхронный сервер ;)

Упрощенно говоря да.

Но если посмотреть на код nginx то видно что основные действия выполняются в пределах одного процесса, код которого является синхронным (я про низкоуровневою работу с дескрипторами ввода/вывода).

Так что все же nginx - это синхронный сервер с асинхронным вводом/выводом.

Опубліковано:

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

насколько сильно жрет апач проц и память в момент отдачи статики? если запустить закачку в несколько потоков - насколько будет меняться скорость каждого потока по сравнению с закачкой в 1 поток?

идей, честно говоря, пока нет.

майже нічого не жере, до 1%цп, 14 мб оперативної. в момент закачки нічого не міняється. Від кількості потоків швидкість на потік не міняється.

саме дивно, що на локалхості швидкість порядка 160 мбіт/с, загрузка цп порядка 40% - тобто він може видавати більше ніж 50 кбіт) чому з інших айпі така хрєнь? Фтп з цього сервера видає 11,5 мБ\с. Може проблема не в апачі ?

Опубліковано:

Похоже, что где-то просто ограничение стоит на скорость отдачи. Или в апаче (mod_bandwidth, mod_cband и т.п.) или в файрволе.

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Створити нове...