++1, with Giulio's comments (default: max of = 512 or whatever reasonnable less 
than 1024)

tested on FC5 , with max-pending-requests = 512
Currently in production status.

Then attached a patch correcting a typo error.

Vincent

--
Telemaque - 06200 NICE - (FR)
Service Technique/Reseau - NOC 
Developpement SMS/MMS/Kiosques
http://www.telemaque.fr/
[EMAIL PROTECTED]
Tel : +33 4 93 97 71 64 (fax 68)

----- Original Message ----- 
From: "Giulio Harding" <[EMAIL PROTECTED]>
To: "Stipe Tolj" <[EMAIL PROTECTED]>
Cc: <[email protected]>
Sent: Monday, August 28, 2006 10:01 AM
Subject: Re: [PATCH] Re: Kannel HTTP MO delivery failing under load


Sorry I didn't reply sooner - I was away sick last week, and I'm only  
just getting back into things at work...

I've just tested Alex's patch, and first impressions are good - I've  
set max-pending-requests to 400, and I can swamp Kannel on our test  
server (~500 MOs/sec and ~180 MTs/sec) with no errors at all! I'm  
going to do some more tests with different values of max-pending- 
requests, to see how that affects performance, and try on some newer,  
faster hardware as well, but at this point, I'm satisfied the patch  
has resolved our issue.

Thanks Alex!

My only suggestion is to change the default value for max-pending- 
requests to a value below 1024, simply because the default max open  
files for a Linux process (at least in RHEL and Fedora Core) is 1024  
- and smsbox already uses up some file descriptors for other stuff,  
further limiting the number of concurrent HTTP connections. With max- 
pending-requests set to 1024, we encounter the original 'too many  
open files' problem. Not sure what the best value would be, but  
without a better idea, I'd suggest a default like 512 or something?

Stipe, I assume you still want me to write up a detailed bug report  
to keep a record of this?

Cheers,


On 28/08/2006, at 10:14 AM, Stipe Tolj wrote:

> Alexander Malysh wrote:
>
>> Hi,
>> attached patch is a try to fix too much open filedescriptors when  
>> handling  MO/DLR in smsbox.
>> Patch adds new config option to smsbox group 'max-pending- 
>> requests'. If no  option given max-pending-requests is set to 1024.
>> This is resonable value for open filedescriptors.
>> Patch is really simple, we initialize semaphore with max-pending- 
>> requests  and just call down before http request starts and up if  
>> it completed. The  same down and up we call before and after popen  
>> starts/completed.
>> Please comment this patch.
>
> @Giulio: have you tested Alex's patch? what are the effects on the  
> same tests you did before?
>
> Stipe
>
> -------------------------------------------------------------------
> Kölner Landstrasse 419
> 40589 Düsseldorf, NRW, Germany
>
> tolj.org system architecture      Kannel Software Foundation (KSF)
> http://www.tolj.org/              http://www.kannel.org/
>
> mailto:st_{at}_tolj.org           mailto:stolj_{at}_kannel.org
> -------------------------------------------------------------------
>

--
Giulio Harding
Systems Administrator

m.Net Corporation
Level 13, 99 Gawler Place
Adelaide SA 5000, Australia

Tel: +61 8 8210 2041
Fax: +61 8 8211 9620
Mobile: 0432 876 733
MSN: [EMAIL PROTECTED]

http://www.mnetcorporation.com





--- /gateway-cvs/gwlib/semaphore.c      2005-02-11 16:35:48.000000000 +0100
+++ /gateway/gwlib/semaphore.c  2006-08-28 12:45:45.000000000 +0200
@@ -106,7 +106,7 @@
     if (semaphore != NULL) {
 #ifdef HAVE_SEMAPHORE
         if (sem_destroy(&semaphore->sem) != 0)
-            panic(errno, "Destroing semaphore while some threads are 
waiting.");
+            panic(errno, "Destroying semaphore while some threads are 
waiting.");
 #else
        gwlist_destroy(semaphore->list, NULL);
 #endif

Reply via email to