Apache 2.x server is taking too much time to sending response to the client.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi  All,



Problem Description:

---------------------

I have written a cgi script which does 

 i) fork  and exec a command with the child process

ii) create pipe 

to read some data from the child process. The parent process waits untill it reads complete data from the child.



observation from the packet capture:

------------------------------------

 i) IE is sending GET request with the CGI binary name  in the URL

       i.e. GET /XXXX/<cgi-binary> say at the time T

ii) The response came from the server at the time (T+300) sec.



observation from the "top" command in the server side.

--------------------------------------------------------

i)  Immediately the cgi-binary goes into "zimbie" state  consuming 0.3% of the CPU.

ii) The child process which is being created from the parent cgi-binary goes into "sleeping" state consuming 0.5% of CPU.

ii) After 300 sec the parent cgi-binary exited and the response sent to the client.



Which httpd server version was tried:

--------------------------------------

The same binary works perfectly in the httpd version 1.3.33.

The same binary does not work in the httpd version 2.0.48 and 2.0.59



I am attaching "httpd.conf " for the version 2.0.59.



Search result on the Web:

--------------------

A bug(id 23911) in the apache version 2.0.54 exists due to which a CGI binaries goes into zombie state in some scenario. I have looked in to the following URL

http://issues.apache.org/bugzilla/show_bug.cgi?id=23911.


The problem can be reproduced with the sample program also.
Sample program:
----------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    int             pid;                    /*child ID*/
    int             ret_stat;

    pid=fork();
    if(pid!=0)      /*PARENT*/
    {
        printf("Content-type: text/html\n\n");
        printf("<html><head></head><body>\n");
        printf("<h1>PARENTAL ZOMBIES 3</h1>\n");
        printf("</body></html>\n");
    }
    else
    {               /*CHILD*/
        sleep(300);
        exit(0);
    }
    return(0);
}

I am not sure ,whether it is a configuration issue or any other. Any  pointer on this issue will help me a lot.



With regards,



SaMaR



		
__________________________________________________________
Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/

Attachment: httpd.conf
Description: Binary data

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux