Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ограничение на число од новременных соединений, но с постановкой лишних в очередь
Dmitry Koterov wrote:
Кажется, в Апаче-таки можно включить ограничение на число соединений.
Есть вот такая директива:
http://httpd.apache.org/docs/2.0/mod/mpm_common.html#listenbacklog
Я посмотрел в исходниках, она действительно меняет параметр при вызове
listen(), а listen() вызывается в make_sock() (изменение глобально для
всех сокетов). Соответственно, если каждому клиенту выделить свой сокет
(например, развесить клиентов по разным портам localhost-а и
проксировать на них nginx-ом), то, теоретически, поклиентное ограничение
должно срабатывать (но я не проверял).
Или я ошибаюсь, и параметр backlog в listen() ограничивает не число
одновременно живущих соединений, а что-то еще?
да.
ListenBacklog - The maximum length of the queue of pending connections
параметр ListenBacklog задает максимальную длину очереди ожидающих
подключений на каждый listening socket, а не максимально возможное
количество одновременно обрабатываемых запросов / занятых воркеров.
теоретически - наверное возможно обучить апач параметру SocketMaxConn,
но большое количество listening сокетов - это неустранимый недостаток,
что может отрицательно сказаться потом на производительности сервера.
если вариант nginx <=> haproxy <=> apache по каким-то причинам
не подходит, то лучше maxconn добавлять не в apache, а в nginx,
тогда можно будет сделать именно то, что хотелось: настраиваемые
ограничения на каждый виртуальный хост / площадку, без выделения
каждому сайту отдельного listening сокета и без лишнего overhead`а.
Как будто бы maxconn в haproxy тоже ограничивает число
подключений на весь кластер, а не per-HTTP_HOST
если каждому виртуальному хосту выделить свой собственный ip:port
тогда можно будет сделать желаемое ограничение средствами haproxy
примерно вот таким способом:
nginx <=> haproxy <=> apache
если конфиги nginx и haproxy генерировать скриптом
такая конструкция не будет сложной в сопровождении
в nginx и его модулях такой функциональности еще нет -
об этом уже несколько раз спрашивали в списке рассылки
--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
- References:
- Ограничение на число одновр еменных соединений, но с постано вкой лишних в очередь
- Re: Ограничение на число одно временных соединений, но с поста новкой лишних в очередь
- Re: Ограничение на число одновременных соединений , но с постановкой лишних в очередь
- Re: Ограничение на число одно временных соединений, но с поста новкой лишних в очередь
- Re: Ограничение на число одновременных соединений , но с постановкой лишних в очередь
- Re: Ограничение на число одно временных соединений, но с поста новкой лишних в очередь
- Re: Ограничение на число одновременных соединений , но с постановкой лишних в очередь
- Re: Ограничение на число одн овременных соединений, но с постановкой лишних в очередь
- Re: Ограничение на число одн овременных соединений, но с постановкой лишних в очередь
- Re: Ограничение на число одн овременных соединений, н о с постановкой лишних в очередь
|