HTTP performance
-
I have to start by saying what a fabulous project pfSense is. I am using it as a captive portal for about 400 concurrent Engineering and Computer Science users.
I think I may have found and solved an issue with the web server configuration file generation. In the following code from /etc/inc/system.inc, sizing the web server resources follow a "if then" case statement; however the most memory it has case for is 512. My pfSense box and most sold now have more memory, causing the web server to default to $max_procs = 2 and $max_requests = "1".
I would like to see removal of the "and $avail < 512" from the last case, to switch the last case to an else, or to add another else case for larger machines. I can provide a diff if needed (I am using 1.2.3-20090211-1558 right now). I have switched the last case to an else, and tweaked the max_procs, max_requests, and max_children as detailed elsewhere on this board. I am seeing huge improvements in the captive portal and WebGUI interface responsiveness and speed.
if($avail > 0 and $avail < 98) {
$max_procs = 1;
$max_requests = 1;
}if($avail > 97 and $avail < 128) {
$max_procs = 1;
$max_requests = 3;
}if($avail > 127 and $avail < 256) {
$max_procs = 1;
$max_requests = 5;
}if($avail > 255 and $avail < 384) {
$max_procs = 3;
$max_requests = 10;
}if($avail > 383 and $avail < 512) {
$max_procs = 4;
$max_requests = 16;
} -
Fixed, thanks! I just took the < 512 off the last case.