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.


Locked