ПРОЕКТЫ 


  АРХИВ 


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: Keep ALive for backend



Ну так веся конитель только потому что "юзать java.io смерти подобно... "
Алексей, Вы переходите в более философский вопрос.
Сам посебе такой метод обслуживания клиентов (http запрос каждые 2 сек) является полным идиотизмом, как и само использование weblogic для нашего вида задач. Внезависимости от нативные либо бинарные библиотеки используются. Ни nio, ни нативный конектор (Вы говорите про APR к токату) тут применить влоб нельзя, иначе бы уже применили. Как раз сейчас и делаем "свой http" на apache mina. Но это тоже временное решение.

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

Например случай с базой данных, если бекенд формирует какие либо отчеты и т.п. и по какой либо причине не может обойтись фиксировааным пулом. Абстрактно ситуация может быть такой:
- 10 активных запросов, каждый работает 1 сек.
- 50 - каждый работает 2 секунды
- 100 каждый работает по 5 минут. Ресурсы закончились, дикая конкуренция за io и процессор приемущественно занят переключением контекста....

В этом случае выгоднее иметь очередь и только 50 исполняющихся одновременно запросов.

Тоже самое может касаться и бекенда на php, jsp....
6 беременных женщин за месяц не рожают :)

Alexey Rymonin wrote:
Hello Kostya,

Friday, November 9, 2007, 11:15:22 AM, you wrote:

Поможет. Основная беда это то что java.io очень медленно акцептает соединения.

Для такого кол-ва соединений юзать java.io смерти подобно...
как минимум надо юзать что-нить из nio (во всяком под соляркой можно
напрямую /dev/poll заюзать)... А вообще надо нативные библы
подключать. Не смогу подсказать как это сделать для веблоджика,
подключение нативных либ к томкату под солярой, сразу его переводит в
использование eventports...

Относительно сносно эту задачу решал mod_wl для апача, но там
1. нет сырцов и не полностью ясно как он работает, не всегда так как это
описывает документация.
2. Apache не может держать даже 2000 Keep-Alive соединений. Ему для каждого нужен процесс/поток
в зависимости от worker/prefork. Точнее он впринципе их держит, но печально.

Максимальный беклог могу поставить 2000, больше игнорирует.





 




Copyright © Lexa Software, 1996-2009.