I enabled the POST transactions, and all of a sudden, the apache process is
now hung (this is first time I'm seeing this behaviour).. The stack is :

(gdb) t 21
[Switching to thread 21 (system thread 29207)]
#0  0xc000000000306850:0 in _semop_sys+0x30 () from
/usr/lib/hpux64/libc.so.1
(gdb) bt
#0  0xc000000000306850:0 in _semop_sys+0x30 () from
/usr/lib/hpux64/libc.so.1
#1  0xc000000000314b50:0 in semop+0xb0 () from /usr/lib/hpux64/libc.so.1
#2  0xc000000001b73220:0 in proc_mutex_sysv_acquire+0x70 ()
   from /opt/hpws/apache/lib/libapr-0.sl.9
#3  0xc000000001b73fc0:0 in apr_proc_mutex_lock+0x60 ()
   from /opt/hpws/apache/lib/libapr-0.sl.9
#4  0xc000000001b72950:0 in apr_global_mutex_lock+0x90 ()
   from /opt/hpws/apache/lib/libapr-0.sl.9
#5  0xc000000001cf37d0:0 in do_post+0x780 ()
   from /opt/hpws/apache/modules/mod_specweb99.so
#6  0xc000000001cf3d10:0 in specweb99_quick_handler+0x270 ()
   from /opt/hpws/apache/modules/mod_specweb99.so
#7  0x4000000000059a80:0 in ap_run_quick_handler+0xc0 ()
#8  0x400000000004eb30:0 in ap_process_request+0x30 ()
#9  0x4000000000042610:0 in ap_process_http_connection+0x230 ()
#10 0x4000000000074670:0 in ap_run_process_connection+0xd0 ()
#11 0x4000000000074f00:0 in ap_process_connection+0xa0 ()
#12 0x4000000000051d40:0 in process_socket+0x200 ()
#13 0x4000000000052e90:0 in worker_thread+0x3b0 ()
#14 0xc000000001b6e2d0:0 in dummy_worker+0x50 ()
   from /opt/hpws/apache/lib/libapr-0.sl.9
#15 0xc0000000000a21a0:0 in __pthread_unbound_body+0x490 ()
   from /usr/lib/hpux64/libpthread.so.1

Any ideas ?
-Madhu

>-----Original Message-----
>From: MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1) [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, December 02, 2003 9:07 AM
>To: 'dev@httpd.apache.org'; [EMAIL PROTECTED]
>Subject: RE: Regarding Apache 2.0.48 and specweb99
>
>
>
>>-----Original Message-----
>>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>[SNIP]
>
>>I'm glad you're making progress.  But I'm wondering why 
>>raising the mod_cgid 
>>Listen backlog was so important.  If 100 mod_cgid connections 
>>wasn't enough at 
>>some point, either the workload is spikey or the steady state 
>>arrival rate of 
>>CGI requests is too fast for one daemon + your SPECweb99 CGI 
>>program to keep up.
>
>
>I was probably driving the server pretty hard for CGI's. The 
>avg. number of
>forks per second were around 15..20 - but often, the forks went up to
>35..40. It was a few times that the no. of forks went as high 
>as 90 - and
>soon, I started getting the 503 messages.
>
>I think the CGI daemon listen backlog can also be a 
>configurable number - I
>can post a patch if people think itz useful.
>
>>
>>If the latter is true, you should see more and more CGI 
>>requests building up 
>>over time in server-status with ExtendedStatus on, and a big 
>>improvement in 
>>throughput if you set DYNAMIC_CGI_GET=0 in the SPEC rc file.
>
>Your evaluation is correct - the throughput definitely 
>improved when I set
>DYN_CGI to 0.. AND some cgi requests took as high as 900 ms 
>(the static file
>took 0.0 ms!!). 
>
> 
>>Then it would be 
>>worthwhile using tusc/strace/truss with some timing options 
>>set to look for 
>>unnecessary delays in mod_cgid. 
>
>I can capture the tusc output from cgi daemon on the next run 
>and post it
>here.
>
>>If that doesn't show a problem, perhaps we 
>>should have multiple cgid daemons running in parallel for best 
>>throughput. 
>>Someone brought up that idea a while back on [EMAIL PROTECTED]; 
>>cross-posting there.
>
>That's a pretty neat idea - I'll have to think about it.
>
>-Madhu
>

Reply via email to