I've been working with this also, and I don't understand the decision process that OpenSER uses to select its UDP buffer size.
1. The system default is 128 Kb. When I start OpenSER without changing any settings, it uses a 128 Kb buffer size.
2. I changed the OS buffer to 256 kb (sysctl -w net.core.rmem_max=262144). OpenSER starts, and says:
INFO:core:probe_max_receive_buffer: using a UDP receive buffer of 255 kb
OK, so far so good.
3. So next I set the OS buffer to 1 Mb (sysctl -w net.core.rmem_max=1048576). I did not set the MAX_RECV_BUFFER_SIZE or use -b. Openser starts and says:
INFO:core:probe_max_receive_buffer: using a UDP receive buffer of 512 kb
Hmmm, that's strange....
4. I start Openser with -b 1048576. Openser says: INFO:core:probe_max_receive_buffer: using a UDP receive buffer of 2048 kb
2 Mb? The OS limit is 1 Mb... That can't be right.
5. I've been fiddling with various numbers for -b, and if I use 1024, Openser says: INFO:core:probe_max_receive_buffer: using a UDP receive buffer of 124 kb
6. If I use -b 1024000, Openser says: INFO:core:probe_max_receive_buffer: using a UDP receive buffer of 2000 kb
So now I'm confused. I can't get Openser to give me a UDP buffer size of 1 Mb, it seems to settle on either 512 Kb or 2 Mb. Am I missing something? This is with 1.3.2.
Michael Young
-----Original Message----- From: users-bounces@lists.openser.org [mailto:users-bounces@lists.openser.org] On Behalf Of Bogdan-Andrei Iancu Sent: Wednesday, April 09, 2008 7:37 AM To: Carsten Bock Cc: users@lists.openser.org Subject: Re: [OpenSER-Users] UDP Buffer Size / OpenSER / Linux
Hi Carsten,
MAX_RECV_BUFFER_SIZE (or -b cl param) is used only as upper limit when auto discovery/setting the socket buffer.
Regards, Bogdan
Carsten Bock wrote:
Hi Bogdan,
i have another question regarding the UDP buffer size: If we set the UDP-Buffer of the system to, let's say 1 MByte: Do we also have to edit MAX_RECV_BUFFER_SIZE? What happens, if we don't? Looking at udp_server.c it seems like this value is ignored...
Thank you, Carsten
Am Dienstag, den 25.03.2008, 12:53 +0200 schrieb Bogdan-Andrei Iancu:
Hi Klaus, Hi Carsten,
Setting a large buffer for the UDP socket will not solve the problem of slow openser processing, but will solve the problem of temporary overloads due a short traffic peek or due short openser blocking in an synchronous op (like DNS or DB). In such corner cases, the buffering in the kernel socket will avoid message dropping.
Regards, Bogdan
Klaus Darilion wrote:
Carsten Bock schrieb:
Hi,
short question: Can anybody give me a hint regarding the Linux UDP-Buffer size? Are there any known good values for this or is the default value (128k) of Linux sufficient? I've read, regarding other SIP-Systems (namely IBM
SIP
Servlets and Communigate pro), the recommendation to increase the UDP-Buffer-size to 3 or even 4 MByte.... Are there any recommended / known best values for heavy load OpenSER Installations?
IMO these values are too high. If the server is for any reason to slow to handle the load and the buffer fills up, then it might happen that the transactions are already timeout in the UAC when the SIP proxy starts processing the requests. If the proxy is overloaded IMO the requests should be dropped instead of queuing them for too long time.
regards klaus
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________ Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
No virus found in this incoming message. Checked by AVG. Version: 7.5.519 / Virus Database: 269.22.9/1365 - Release Date: 4/8/2008 7:30 AM
No virus found in this outgoing message. Checked by AVG. Version: 7.5.524 / Virus Database: 269.23.21/1456 - Release Date: 5/20/2008 6:45 AM