

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
6 messages in ru.sysoev.nginxContinuing issues with limit_conn| From | Sent On | Attachments |
|---|---|---|
| Stuart McKim | Apr 28, 2008 6:09 pm | |
| Calomel | Apr 28, 2008 8:28 pm | |
| Maxim Dounin | Apr 29, 2008 12:57 am | |
| Calomel | Apr 29, 2008 8:40 am | |
| Stuart McKim | Apr 29, 2008 11:50 am | |
| Maxim Dounin | Apr 30, 2008 4:16 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Continuing issues with limit_conn | Actions... |
|---|---|---|
| From: | Stuart McKim (mcki...@public.gmane.org) | |
| Date: | Apr 28, 2008 6:09:01 pm | |
| List: | ru.sysoev.nginx | |
I'm still unable to get limit_conn to work as expected, despite reading as much documentation as I can find, of which there seems to be very little.
In the http section of /etc/nginx/nginx.conf I have the two lines limit_zone test-limit $binary_remote_addr 10m; limit_conn test-limit 15;
The debug output from the error log, with line numbers added, is:
01 2008/04/28 16:06:51 [debug] 19050#0: *15 write new buf t:1 f:0 080F3778, pos
080F3778, size: 240 file: 0, size: 0
02 2008/04/28 16:06:51 [debug] 19050#0: *15 http write filter: l:0 f:0 s:240
03 2008/04/28 16:06:51 [debug] 19050#0: *15 http output filter "/webtest.html?"
04 2008/04/28 16:06:51 [debug] 19050#0: *15 copy filter: "/webtest.html?"
05 2008/04/28 16:06:51 [debug] 19050#0: *15 http postpone filter
"/webtest.html?" BFEA3E58
06 2008/04/28 16:06:51 [debug] 19050#0: *15 http postpone filter out
"/webtest.html?"
07 2008/04/28 16:06:51 [debug] 19050#0: *15 write old buf t:1 f:0 080F3778, pos
080F3778, size: 240 file: 0, size: 0
08 2008/04/28 16:06:51 [debug] 19050#0: *15 write new buf t:0 f:1 00000000, pos
00000000, size: 0 file: 0, size: 212
09 2008/04/28 16:06:51 [debug] 19050#0: *15 http write filter: l:1 f:0 s:452
10 2008/04/28 16:06:51 [debug] 19050#0: *15 http write filter limit 0
11 2008/04/28 16:06:51 [debug] 19050#0: *15 tcp_nopush
12 2008/04/28 16:06:51 [debug] 19050#0: *15 writev: 240
13 2008/04/28 16:06:51 [debug] 19050#0: *15 sendfile: @0 212
14 2008/04/28 16:06:51 [debug] 19050#0: *15 sendfile: 212, @0 212:212
15 2008/04/28 16:06:51 [debug] 19050#0: *15 http write filter 00000000
16 2008/04/28 16:06:51 [debug] 19050#0: *15 copy filter: 0 "/webtest.html?"
17 2008/04/28 16:06:51 [debug] 19050#0: *15 http finalize request: 0,
"/webtest.html?"
18 2008/04/28 16:06:51 [debug] 19050#0: *15 set http keepalive handler
19 2008/04/28 16:06:51 [debug] 19050#0: *15 http close request
20 2008/04/28 16:06:51 [debug] 19050#0: *15 http log handler
21 2008/04/28 16:06:51 [debug] 19050#0: *15 run cleanup: 080F3674
22 2008/04/28 16:06:51 [debug] 19050#0: *15 file cleanup: fd:58
23 2008/04/28 16:06:51 [debug] 19050#0: *15 run cleanup: 080F363C
24 2008/04/28 16:06:51 [debug] 19050#0: *15 free: 080F3178, unused: 2091
25 2008/04/28 16:06:51 [debug] 19050#0: *15 event timer add: 23:
75000:2538275930
26 2008/04/28 16:06:51 [debug] 19050#0: *15 free: 080B7770
27 2008/04/28 16:06:51 [debug] 19050#0: *15 free: 080F2D70
28 2008/04/28 16:06:51 [debug] 19050#0: *15 hc free: 00000000 0
29 2008/04/28 16:06:51 [debug] 19050#0: *15 hc busy: 00000000 0
30 2008/04/28 16:06:51 [debug] 19050#0: *15 http keepalive handler
31 2008/04/28 16:06:51 [debug] 19050#0: *15 malloc: 080F2D70:1024
32 2008/04/28 16:06:51 [debug] 19050#0: *15 recv: fd:23 -1 of 1024
33 2008/04/28 16:06:51 [debug] 19050#0: *15 recv() not ready (11: Resource
temporarily unavailable)
34 2008/04/28 16:06:51 [debug] 19050#0: *16 malloc: 080B7770:632
35 2008/04/28 16:06:51 [debug] 19050#0: *16 malloc: 080F3178:1024
36 2008/04/28 16:06:51 [debug] 19050#0: *16 malloc: 080F3580:4096
37 2008/04/28 16:06:51 [debug] 19050#0: *16 http process request line
38 2008/04/28 16:06:51 [debug] 19050#0: *16 recv: fd:24 122 of 1024
39 2008/04/28 16:06:51 [debug] 19050#0: *16 http request line: "GET
/webtest.html HTTP/1.0"
40 2008/04/28 16:06:51 [debug] 19050#0: *16 http uri: "/webtest.html"
41 2008/04/28 16:06:51 [debug] 19050#0: *16 http args: ""
42 2008/04/28 16:06:51 [debug] 19050#0: *16 http exten: "html"
43 2008/04/28 16:06:51 [debug] 19050#0: *16 http process request header line
44 2008/04/28 16:06:51 [debug] 19050#0: *16 http header: "User-Agent:
ApacheBench/1.3d"
45 2008/04/28 16:06:51 [debug] 19050#0: *16 http header: "Connection:
Keep-Alive"
46 2008/04/28 16:06:51 [debug] 19050#0: *16 http header: "Host:
mckim1.osuosl.org"
47 2008/04/28 16:06:51 [debug] 19050#0: *16 http header: "Accept: */*"
48 2008/04/28 16:06:51 [debug] 19050#0: *16 http header done
49 2008/04/28 16:06:51 [debug] 19050#0: *16 event timer del: 24: 2538800922
50 2008/04/28 16:06:51 [debug] 19050#0: *16 find location for "/webtest.html"
51 2008/04/28 16:06:51 [debug] 19050#0: *16 using configuration ""
52 2008/04/28 16:06:51 [debug] 19050#0: *16 http cl:-1 max:1048576
53 2008/04/28 16:06:51 [debug] 19050#0: *16 generic phase: 1
54 2008/04/28 16:06:51 [debug] 19050#0: *16 add cleanup: 080F3A44
55 2008/04/28 16:06:51 [debug] 19050#0: *16 limit zone: E1F43BF3 1
56 2008/04/28 16:06:51 [debug] 19050#0: *16 access phase: 2
57 2008/04/28 16:06:51 [debug] 19050#0: *16 access phase: 3
58 2008/04/28 16:06:51 [debug] 19050#0: *16 post access phase: 4
59 2008/04/28 16:06:51 [debug] 19050#0: *16 content phase: 5
60 2008/04/28 16:06:51 [debug] 19050#0: *16 content phase: 6
61 2008/04/28 16:06:51 [debug] 19050#0: *16 content phase: 7
62 2008/04/28 16:06:51 [debug] 19050#0: *16 http set discard body
63 2008/04/28 16:06:51 [debug] 19050#0: *16 http filename:
"/var/www/nginx/htdocs1/webtest.html"
64 2008/04/28 16:06:51 [debug] 19050#0: *16 add cleanup: 080F3A7C
65 2008/04/28 16:06:51 [debug] 19050#0: *16 http static fd: 58
66 2008/04/28 16:06:51 [debug] 19050#0: *16 HTTP/1.1 200 OK
67 Server: nginx/0.6.29
68 Date: Mon, 28 Apr 2008 23:06:51 GMT
69 Content-Type: text/html
70 Content-Length: 212
71 Last-Modified: Fri, 11 Apr 2008 21:43:45 GMT
72 Connection: keep-alive
73 Keep-Alive: timeout=20
74 Accept-Ranges: bytes
This is repeated many times, with the *XX number being the only significant change. The "limit zone: E1F43BF3 1" line is always identical.
If I do not use the limit_zone and limit_conn lines in my config, or exclude just the limit_conn line, the debug output appears to be the same except I don't see the lines 21 2008/04/28 16:06:51 [debug] 19050#0: *15 run cleanup: 080F3674 54 2008/04/28 16:06:51 [debug] 19050#0: *16 add cleanup: 080F3A44 55 2008/04/28 16:06:51 [debug] 19050#0: *16 limit zone: E1F43BF3 1
I'm not really sure what I should expect to see in the debug output, but it would appear that the module is trying to at least do something.
The catch is that with 1000 connections, in sessions with 50 concurrent connections, I'm expecting to see some 503 returns from the server, but the server responds with 200 every time. This is not proper behaviour, correct? As far as I can tell, this is a bug.
I am using version 0.6.29.
Has anybody had any success with using this module? If so, how did you test it?
If more information would be useful, I can provide it.
Thanks, Stuart
-- Stuart McKim FTP Administrator Open Source Lab Oregon State University







