httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 55615] New: Connections are starved when requests when requests are beyond FcgidMaxProcessesPerClass
Date Mon, 30 Sep 2013 23:09:23 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=55615

            Bug ID: 55615
           Summary: Connections are starved when requests when requests
                    are beyond FcgidMaxProcessesPerClass
           Product: Apache httpd-2
           Version: 2.4.6
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_fcgid
          Assignee: bugs@httpd.apache.org
          Reporter: scottpakula@gmail.com

When a large number of concurrent requests are made to a FastCGI process which
exceeds the number defined in FcgidMaxProcessesPerClass, connections become
starved.

>From reviewing the source code, In fcgid_spawn_ctl.c when this condition
happens, the following piece of code is executed.

/*
 * Process count of this class higher than up limit?
 */
if (current_node->process_counter >= current_node->max_class_process_count) {
    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, main_server,
                 "mod_fcgid: too many %s processes (current:%d, max:%d), skip
the spawn request",
                  command->cgipath, current_node->process_counter,
                  current_node->max_class_process_count);
     return 0;
}

For example, if I have a FastCGI application which returns a 1MB buffer called
buffer.exe.  I have configured FcgidMaxProcessesPerClass to 4, and now I launch
64 concurrent requests to buffer.exe which are looping.  The result is that
some threads obtain the the buffer while others are simply staved.

The expected result is that I would want these 64 concurrent requests to
equally be slow at obtaining the result rather then a few connections getting
the result while others are staved.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message