Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2010-04-29 22:00:15

bestxp
Участник
Откуда Россия
Зарегистрирован: 2008-10-13
Сообщений: 133
Рейтинг :   
Сайт

HolyWar

вот заинтересовался вопросом
голый apache как основной web сервер реально ли ? без связки с ngnix , какие настройки можно посоветовать что  бы не падал и не зависал
, то есть какие оптимизации можно произвести


senior php and js developer

Не в сети

#2 2010-04-29 23:39:11

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: HolyWar

bestxp, голый апач ни в каких nginx'ах не нуждается.
Но есть несколько моментов, которые надо учитывать:
1. Апач на каждого клиента создаёт свой инстанс
2. Бывают клиенты с медленным каналом, пока клиент получает данные - инстанс апача висит в памяти

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

Пример:
- у тебя на сайте висит 20 картинок по 500 килобайт (итого ~= 10 mb)
- время генерации динамической страницы 0.10ms
- у тебя есть 10Gb RAM на сервере

К тебе заходит человек с медленным каналом в 128 kbit/s (12kb/s), но с агрессивно настроенным браузером, качающим данные одновременно в 10 сессиях.
Значит в течении всего скачивания данных (10mb / 15kb = 10 минут) для отдачи человеку всего контента тебе потребуется ~15 (средний размер апача)mb * 10 сессий = 150 mb.

Т.е. в штатном режиме апача и с предполагаемым размером сайта на 10Gb RAM ты сможешь обслужить до 60 одновременно качающих клиентов,.. путём простых расчётом вы получаем, что этого тебе достаточно для порядка 60/10 = 6 заходов тормозных клиентов в минуту.
Хочешь быстрее? Проблем нет - 100 Gb RAM хватит уже на 1 заход в секунду.

В случае же с nginx'ом, нам не требуется масса памяти для отдачи медленного контента (ну... да, сам nginx может "сожрать" 10-100 mb в зависимости от настроек) и на 10 Gb RAM ты сможешь получить 10Gb / 15 Mb / 0.1 sec = 6000 хитов в секунду (это если у тебя хватит производительности CPU, LAN и скорости работы диска).

.. вопрос исчерпан? smile
p.s. Если на твой апач не будут ходить такие медленные клиенты, то разница будет не столь существенна smile

Не в сети

#3 2010-04-30 09:20:59

bestxp
Участник
Откуда Россия
Зарегистрирован: 2008-10-13
Сообщений: 133
Рейтинг :   
Сайт

Re: HolyWar

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


senior php and js developer

Не в сети

#4 2010-04-30 11:11:15

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: HolyWar

bestxp, ограничить агрессивность можно. Но позволить себе это может далеко не каждый сайт.
Есть 4 пути:
1. Запретить доступ на сайт всем пользователям у которых настроено скачивание более чем в 1 поток (насколько я помню, во всех современных браузерах используется минимум 3 потока)
2. Предложить пользователю патч для реестра (или описание необходимых настроек в тех браузерах, где это возможно) для перенастройки браузера, после этого пускать на сайт. Тех кто не согласен или не настроил - банить.
3. Не размещать на сайте тяжеловесный внешний контент (JS, CSS, картинки), в идеале - вообще не использовать его.
4. Запихнуть весь контент в саму страничку (CSS/JS - легко, для картинок тоже проблем нет если у пользователя стоит нужный браузер)

Первые 2 варианта могут себе позволить ну просто жизненно необходимые сайты. Типа сайта налоговой, на котором можно подавать налоговые декларации...

p.s. Короче, забей. На скачивание файлов ты можешь установить ограничение предупреждением (скачаешь в 2 потока - получишь бан на сутки), а вот на скачивание контента файлов ты не можешь влиять без перенастройки браузера пользователя (и после этой перенастройки у пользователя начнут тормозить все сайты).

Не в сети

#5 2010-04-30 12:15:31

bestxp
Участник
Откуда Россия
Зарегистрирован: 2008-10-13
Сообщений: 133
Рейтинг :   
Сайт

Re: HolyWar

ясна усё...:)


senior php and js developer

Не в сети

#6 2010-05-01 19:33:10

bestxp
Участник
Откуда Россия
Зарегистрирован: 2008-10-13
Сообщений: 133
Рейтинг :   
Сайт

Re: HolyWar

после сидения с калькулятором понял , что стоит помучаться ибо сервер умрет как только одновременный онлайн станет более 100 человек( а это будет быстро,  roll всё таки nginx нужна штука


senior php and js developer

Не в сети

#7 2010-05-01 21:09:59

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: HolyWar

bestxp, а что, настройка nginx'а это что-то безумно непонятное? smile
В самом простейшем случае там работы минут на 20 ...

Не в сети

#8 2010-05-04 11:23:52

bestxp
Участник
Откуда Россия
Зарегистрирован: 2008-10-13
Сообщений: 133
Рейтинг :   
Сайт

Re: HolyWar

ну настройка настройкой, а вот когда там несколько доменов, с поддоменами ... притом еще надо связать было с Plesk ... то эта была огромной попой))


senior php and js developer

Не в сети

Подвал раздела

Работает на FluxBB