Hello, Artem:

On Wed, 31 Oct 2007, Artem Bokhan wrote:

> Hello again, I would like to return to the problem.
>
> After creating a lot of connections policyd stops to receive new
> connections and use 100% of cpu.
> Connections was simulated with JMeter (1500 connections). Anybody can
> confirm the same behavior?
>

I don't think we tsted above around 1000 smtp connections, since postfix 
is normlly limited in out case to 100 connections on each server.  Our 
machine has 8 GB of RAM.  It was still running, though pretty slowly at 
that point.

Also, you didn't mention of you actually ran out of memory and/or swap 
space.  Some operating systems, like Solaris, also have a maximum user 
process parameter set in the kernel -- maxuprc.  Is policyd runnning as 
"root" or a different user?  You might just write a simple program that 
spawns 1500 or so processes and see if you come up against a process 
limit, memory limit, or other impediment.  If nothing else, it sounds like 
you may want to rate-limit the number of connections to postfix or 
whatever your mail server is.  If that doesn't keep your mail flow going, 
you may need additional servers.

--Tobias

> Ubuntu Dapper, uname -a
> Linux 2.6.15-26-amd64-server #1 SMP Thu Aug 3 03:32:26 UTC 2006 x86_64
> GNU/Linux
>
>
>
> strace:
>
> select(1025, [9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
> 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
> 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78
> 79 80 81 82 83 84 85 416 417 473 478 482 484], [], NULL, NULL) = 10 ()
> select(1025, [9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
> 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
> 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78
> 79 80 81 82 83 84 85 416 417 473 478 482 484], [], NULL, NULL) = 10 ()
> select(1025, [9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
> 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
> 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78
> 79 80 81 82 83 84 85 416 417 473 478 482 484], [], NULL, NULL) = 10 ()
> select(1025, [9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
> 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
> 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78
> 79 80 81 82 83 84 85 416 417 473 478 482 484], [], NULL, NULL) = 10 ()
> select(1025, [9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
> 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
> 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78
> 79 80 81 82 83 84 85 416 417 473 478 482 484], [], NULL, NULL) = 12 (in
> [81 482]])
>
>
> sysctl fs.file-max
> fs.file-max = 767080
>
>
> ulimit -n
> 100000
>
>
> Compile-time configs:
>
> /* CONFIGS */
> #define PROJECT "policyd"
> #define VERSION "v1.82"
>
> /* Miscellaneous constants */
> #define LISTENQ 1023 /* 2nd argument to listen() */
> #define MAXLINE 1023 /* max text line length */
> #define BUFFSIZE 8191 /* buffer size for reads and writes */
> #define BUFSIZE 4095
> #ifndef MAXFDS
> #define MAXFDS 20479 /* max file descriptors */
> #endif
>
>
> CC := gcc
> CPPFLAGS := -O $(inc)
> CFLAGS := -g -W -Wall -DMAXFDS=20479
> OS_NAME := $(shell uname | tr [A-Z] [a-z])
> LDLIBS = $(lib) -lmysqlclient -lz
>
>
> Cami Sardinha ?????:
>> Artem Bokhan wrote:
>>
>>> I will play with ulimit (was 1024 :( ) first and wait until bots will
>>> wake up again :)
>>> May be it's possible to increase the limits by policyd instead of shell?..
>>>
>>
>> There is no guarantee that Policyd's attempt to raise it will work.
>>
>> I do recommend you do some kernel tuning as well as raising the
>> ulimit's. I can see from your previous post that Policyd is in fact
>> built to use 4096 file descriptors, however, if you're limiting
>> Policyd to 1024 in ulimit, can you really blame Policyd for its
>> behavior?
>>
>> Cami
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Splunk Inc.
>> Still grepping through log files to find problems?  Stop.
>> Now Search log events and configuration files using AJAX and a browser.
>> Download your FREE copy of Splunk now >>  http://get.splunk.com/
>> _______________________________________________
>> policyd-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/policyd-users
>>
>
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
policyd-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/policyd-users

Reply via email to