ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[5]: очень много клиен тов



Hi, Igor.

> А сколько одновременных Апачей работало до перехода на nginx ?
> Какой размер ядерного TCP буфера отправки ?
> Насколько я понимаю, в данном случае появился лишь оверхед от
> проксирования nginx'ом и больше ничего. Возможно ли отдавать статику
> nginx'ом без проскирования на Апач ?

 На том нагруженном сайте - в среднем работает по 400-600 апачей, >60
запросов в сек. Размер ядерного буфера... не менял, и к своему стыду
не знаю. После перехода на nginx появилось существенное снижение
отжираемой памяти и некоторое снижение нагрузки. Хотя я потом
задумался, не потому ли, что при том было пропорциональное снижение
трафика.

 Держать апач на бакэнде заставляют следующие функции:
 
1) отключение неплательщиков (путём перенаправления на заданную
страничку), реализовано так

 RewriteEngine   On
 RewriteMap      block-domain-ru        txt:/var/www/block.domain.ru
 RewriteRule     ^(/([^/]+)/.*)$        ${block-domain-ru:$2|$1}
 
файлик /var/www/block.domain.ru пополняется записями
firma74         http://domen.ru/pay.html
...

2) layout'ы, И верхний И нижний, реализовано

        LayoutDefaultHandlers   Off
        LayoutHandler   text/html
        LayoutHandler   text/plain
        LayoutHeader    /var/www/domen.ru/header.html
        LayoutFooter    /var/www/domen.ru/footer.html

критично держать ОБА.

3) Хотя это вероятно УЖЕ можно средствами nginx реализовать -
ограничить превращение сайта во "внешнее хранилище + внешний трафик"
картинок для левых сайтов, реализовано простым отсевом тех, кто без
реферера их тянет

 RewriteCond    %{HTTP_REFERER} 
!^http://[0-9a-z][0-9a-z-]*[0-9a-z]\.domain\.ru$ [NC]
 RewriteCond    %{HTTP_REFERER} 
!^http://[0-9a-z][0-9a-z-]*[0-9a-z]\.domain\.ru/.*$ [NC]
 RewriteRule     ^.*\.(gif|jpeg|jpg)$    - [F,L,NC]

это вобщем уже не критичный момент, однако были прецеденты, трафик
фигачил "не по делу", да и нагрузка  :-))

4) Самое основное, почему, даже имея всё это, в апаче была введена
схема фронтенд-бакэнд, это необходимость упрощенного конфига для
поддержки сайтов типа *.domen.ru.
 То есть для vasya.domen.ru нужно чтобы DocumentRoot был скажем
/var/www/domen.ru/vasya, а для ivan.domen.ru DocumentRoot был
/var/www/domen.ru/ivan
 С апачом это удалось сделать только путем разбора на фронтенде
HTTP_HOST и передачи имени ПОДДОМЕНА в строке URI бакэнду, реализовано
на фронтенде так

 RewriteCond     %{HTTP_HOST} ^(.+)\.domen\.ru.*$ [NC]
 RewriteRule     (.*) http://backend.domen.ru.int/%1$1 [L,P]
 RewriteRule     .*   http://domen.ru
 
-- 
engineer




 




Copyright © Lexa Software, 1996-2009.