Equivalent to Apache ListenBacklog

Discussion in 'Install/Configuration' started by Morzain, Jun 28, 2013.

  1. Morzain

    Morzain New Member

  2. Morzain

    Morzain New Member

    I guess what I am trying to figure out is how much is pulled from the httpd.conf for optimizations if any, how much is over-ruled by the LiteSpeed web interface if any and more detailed information on how they interact.

    I set the MaxClients and ListenBacklog in httpd.conf both to 1 and then got the following results with LiteSpeed vs Apache:


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

    The first results are with LiteSpeed and the httpd.conf of apache set to MaxClients 1 ListenBacklog 1

    The second results are with Apache and the httpd.conf of apache set to MaxClients 1 ListenBacklog 1




    michael@mikes-terminal ~/Documents/litespeed_license $ ab -c 20 -n 1000 http://127.0.0.1/~test/
    This is ApacheBench, Version 2.3 <$Revision: 655654 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/

    Benchmarking 127.0.0.1 (be patient)
    Completed 100 requests
    Completed 200 requests
    Completed 300 requests
    Completed 400 requests
    Completed 500 requests
    Completed 600 requests
    Completed 700 requests
    Completed 800 requests
    Completed 900 requests
    Completed 1000 requests
    Finished 1000 requests


    Server Software: LiteSpeed
    Server Hostname: 127.0.0.1
    Server Port: 80

    Document Path: /~test/
    Document Length: 839 bytes

    Concurrency Level: 20
    Time taken for tests: 1.151 seconds
    Complete requests: 1000
    Failed requests: 0
    Write errors: 0
    Total transferred: 1004000 bytes
    HTML transferred: 839000 bytes
    Requests per second: 868.88 [#/sec] (mean)
    Time per request: 23.018 [ms] (mean)
    Time per request: 1.151 [ms] (mean, across all concurrent requests)
    Transfer rate: 851.91 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 4 10 1.9 10 15
    Processing: 7 13 2.2 13 26
    Waiting: 7 13 2.2 13 26
    Total: 13 23 1.7 23 32

    Percentage of the requests served within a certain time (ms)
    50% 23
    66% 23
    75% 23
    80% 24
    90% 25
    95% 26
    98% 27
    99% 28
    100% 32 (longest request)




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




    michael@mikes-terminal ~/Documents/litespeed_license $ ab -c 20 -n 1000 http://127.0.0.1/~test/This is ApacheBench, Version 2.3 <$Revision: 655654 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/

    Benchmarking 127.0.0.1 (be patient)
    Completed 100 requests
    Completed 200 requests
    apr_socket_recv: Connection reset by peer (104)
    Total of 275 requests completed

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

    I then set the Max Connections to 1 in the litespeed configuration and repeated the litespeed test which resulted in approximately the same results as the first test.

    I then set all the keepalive, caching, and buffering options to 0 that I could find and still it completed all 1000 requests with no failures.

    This is not really clear either way as to what is going on, I theorize that the LiteSpeed equivalent of the ListenBacklog setting of Apache is allowing the connections to queue up and be completed, which if that theory is correct would mean that LiteSpeed is not using the httpd.conf for that optimization.

    So what I am really trying to find out is how LiteSpeed's configuration and the httpd.conf interact.
    Last edited: Jun 28, 2013
  3. webizen

    webizen New Member

  4. Morzain

    Morzain New Member

    Thank you very much for your reply!

    Is there any documentation regarding what exactly LiteSpeed pulls from the httpd.conf and what it does not? It has to be pulling the Vhost entries, is it pulling anything else from it?
  5. webizen

    webizen New Member

    Most httpd.conf directives are supported. Not only entries from vhost level but also from server level.

    The document that details the supported directives will be on our to-do list.
  6. Morzain

    Morzain New Member

    In the httpd.conf we have an include of php.conf:

    Include "/usr/local/apache/conf/php.conf"

    which has the following in it:

    ---
    # LibPHP5 configuration
    LoadModule php5_module modules/libphp5.so
    AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml

    # End of autogenerated PHP configuration.
    ---

    Assuming we have the EasyApache hook enabled and LiteSpeed/php was rebuilt with an EA, Does this mean that LiteSpeed would be using DSO, whereas the LiteSpeed configuration shows it using FCGI?

    ---------------
    Edit:

    In addition to my previous question, is there a way I can see what the current in-use LiteSpeed variables are so that I can find this information myself in the future?
    Last edited: Jun 29, 2013
  7. NiteWave

    NiteWave Administrator

    no. litespeed can understand
    LoadModule php5_module modules/libphp5.so
    but don't use dso at all. always use lsapi -- an improved fast-cgi(or FCGI) to glue litespeed web server and php.

    same as MaxClients and ListenBacklog etc, although litespeed can read and understand(or ignore) these apache directives, litespeed won't follow and not necessary to follow, since their architecture is quite different, the implement detail can be different.
  8. Morzain

    Morzain New Member

    Thank you this helps quite a bit in understanding what is going on. You guys have a very nice product that looks to work very well, I have worked with quite a few of your enterprise level servers so far and the speed difference over Apache is noticable.

    But if there is no documentation for it I need to know if there is a way I can see the current in-use variables for LiteSpeed, such as the following:

    MaxClients in httpd.conf 200
    Max Connections in LiteSpeed web interface 100

    I need a way in a logfile, or command, or strace or anything to be able to tell which values are being used actively for various settings.

    Otherwise setting the optimizations for a server is pure guess work or will take days of benchmark testing just to figure out what is being used in the httpd.conf and what is being ignored.

    If there is a command line utility or any way I can get this information please let me know.
  9. webizen

    webizen New Member

    you can look at the real-time stats in admin console for traffic-related stats. the out of box configurations are good for most setups. if you have a specific performance issue, you can post on forum for free support or purchase a support ticket for fast turnaround.

Share This Page