Opened 10 years ago

Last modified 10 years ago

#525 new enhancement

Max connection limit too low (http_limit_conn_module)

Reported by: Čeněk Zach Owned by:
Priority: minor Milestone:
Component: nginx-module Version: 1.5.x
Keywords: connection limit http_limit_conn_module Cc:
uname -a: Linux fra28.ff.avast.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx version: nginx/1.5.6
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-cc-opt='-O2 -g'

Description

Hello,

Trying to set 'per server' connection limit:

http:

limit_conn_zone $server_name zone=perserver:10m;

location:

limit_conn perserver 165000;

Getting error:

nginx: [emerg] connection limit must be less 65536 in /etc/nginx/sites-enabled/

The limit seems to be hard-coded:

http://trac.nginx.org/nginx/browser/nginx/src/http/modules/ngx_http_limit_conn_module.c#L733

The nginx serves all content from single port (80). Is there a reason for this limit? Could it be raised/removed?

PS: Thanks for awesome server!

Change History (2)

comment:1 by Valentin V. Bartenev, 10 years ago

Type: defectenhancement

The reason is to keep connection counter as u_short and thereby reduce memory consumption on some platforms.

Is there a real use case for such a big limit? Could you provide more information about your config?

comment:2 by Čeněk Zach, 10 years ago

We have 10G connection and want to run several vhosts (serving static content) and trying to guarantee minimal (average) download speed for each vhost.

To limit the average speed to 10kbit/s with 10Gbit uplink we would set the conn_limit 1M.

Note: See TracTickets for help on using tickets.