ПРОЕКТЫ 


  АРХИВ 


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: соотношение балансировщи ков/веб-серверов (оффтоп, но...)



В описанном мной тесте nginx не участвовал. Было 2 разных нагружающих сервера  - старое железо с FreeBSD и новый сервер с Linux. Нагружали балансировщик (мощная железка, полностью аппаратное решение на FPGA-вентилях). Удивило то, что очень старый сервер с BSD смог сгенерировать всего лишь вдвое меньше конкурентных SSL-сессий, чем весьма неслабый сервер под Linux (7500 у 1xP3 700 против 16000 у 2xXEON 2500).

22 октября 2009 г. 23:12 пользователь Gena Makhomed <gmm@xxxxxxxxx> написал:
big bond wrote:

Кстати, сегодня пробовали нагрузить конкурентными SSL-сессиями один из тестирумых балансировщиков, использовали программу flood_connect. Я скомпилировал её на линуксовой машине (2хXEON E5420, 2.50GHz, 4GB RAM, SUSE ENT 10.2), выжать смог максимум 16000 соединений, все 4 ядра были загружены на 100%.
Коллега скомпилировал на старенькой железке (P3 700MHz, 512MB RAM, FreeBSD 7.2), выжал 7500 соединений и процессор был загружен не более 80%!!!!
Сам балансировщик при этом тоже неплохо был загружен.
Как такое возможно? Старая железка отстала всего в два раза от современного неслабого сервера!
Запускали так: *flood_connect -S -f 10 -p 443 /адрес_балансировщика/*
-f - количество форков
-S - SSL-режим

1. если включить ssl_session_cache -
SSL будет работать намного быстрее.
например:

http {
   ssl_session_cache  shared:SSL:20M;
   ssl_session_timeout 120m;
   ...

почему ssl_session_cache по умолчанию выключен -
не знаю, наверное чтобы зря не расходовать память,
если SSL не используется или используется очень мало.

2. если при сборке nginx указывать ключи
--with-md5-asm --with-zlib-asm=pentiumpro
думаю что он тогда будет работать быстрее,
чем если без них. по крайней мере, на i386.

см. также другие ключи оптимизации в ./configure --help
все не используемые модули наверное лучше будет выключить.

3. если при работающем nginx изменялись SSL сертификаты
в конфиге - тогда надо делать service nginx force-reload
потому что после service nginx reload - nginx продолжает
использовать старые и молча игнорирует новые сертификаты.

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


   По хорошему надо CARP, но в принципе достаточно просто    чтоб в одном vlan-е были, вручную IP слегшего сервера можно будет перекинуть.

в англоязычном списке рассылки на вопрос про балансировщики
советовали использовать http://www.backhand.org/wackamole/

и читать книжку Scalable Internet Architectures
http://www.amazon.com/Scalable-Internet-Architectures-Theo-Schlossnagle/dp/067232699X

--
Best regards,
 Gena





 




Copyright © Lexa Software, 1996-2009.