Pre sales question; serverload / memory usage

Discussion in 'General' started by NetJam, Jan 17, 2012.

  1. NetJam

    NetJam New Member

    Hello,

    I'm currently evaluating Litespeed as a replacement for Apache.

    The server is only serving dynamic PHP pages (static files are on CDN).

    I did a stress-test with both Apache and Litespeed, and I noticed litespeed is a lot slower and also uses a lot more memory/resources.

    The machine is a dual quadcore box with 8GB ram. Maxclients set to 1000 on both webservers. Apache uses RPM PHP with some extensions, litespeed has custom built 5.3.8 PHP with few extensions. Both use GeoIP library.

    Peaks during the test;

    Apache - Load 30 - Memory usage 1.2GB
    Litespeed - Load 90 - Memory usage 4.8GB

    Any thoughts on this?

    AB results:

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


    Server Software: LiteSpeed
    Server Hostname: XXX
    Server Port: 80

    Document Path: /
    Document Length: 52902 bytes

    Concurrency Level: 500
    Time taken for tests: 122.580310 seconds
    Complete requests: 50000
    Failed requests: 1019
    (Connect: 0, Length: 1019, Exceptions: 0)
    Write errors: 0
    Non-2xx responses: 1
    Total transferred: 2619641525 bytes
    HTML transferred: 2597865962 bytes
    Requests per second: 407.90 [#/sec] (mean)
    Time per request: 1225.803 [ms] (mean)
    Time per request: 2.452 [ms] (mean, across all concurrent requests)
    Transfer rate: 20869.94 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 563 2274.2 0 92999
    Processing: 75 589 429.4 489 34453
    Waiting: 54 461 420.4 365 34453
    Total: 75 1152 2328.1 504 93462

    Percentage of the requests served within a certain time (ms)
    50% 504
    66% 573
    75% 656
    80% 779
    90% 3445
    95% 3621
    98% 9448
    99% 9599
    100% 93462 (longest request)


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


    Server Software: Apache/2.2.21
    Server Hostname: XXX
    Server Port: 80

    Document Path: /
    Document Length: 52725 bytes

    Concurrency Level: 500
    Time taken for tests: 128.47138 seconds
    Complete requests: 50000
    Failed requests: 400
    (Connect: 0, Length: 400, Exceptions: 0)
    Write errors: 0
    Total transferred: 2638791600 bytes
    HTML transferred: 2616832800 bytes
    Requests per second: 390.48 [#/sec] (mean)
    Time per request: 1280.471 [ms] (mean)
    Time per request: 2.561 [ms] (mean, across all concurrent requests)
    Transfer rate: 20124.96 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 648 2603.7 0 45010
    Processing: 50 502 3202.2 262 102999
    Waiting: 48 496 3202.1 257 102984
    Total: 54 1151 4116.9 273 103011

    Percentage of the requests served within a certain time (ms)
    50% 273
    66% 342
    75% 434
    80% 551
    90% 3240
    95% 3618
    98% 9381
    99% 21209
    100% 103011 (longest request)
    Last edited: Jan 17, 2012
  2. NiteWave

    NiteWave Administrator

    how about set concurrency level to 30?

    what's your lsphp settings, the default one ?
  3. NetJam

    NetJam New Member

    Thanks for the reply..

    Setting concurrency to 30 is not a real life test for me.. the site is doing around 150 in general and 300+ during peaks..

    PHP build options are:

    Code:
    '--with-mysqli' '--with-pdo' '--with-zlib' '--with-gd' '--enable-shmop' '--enable-track-vars' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-magic-quotes' '--enable-mbstring' '--with-iconv' '--with-litespeed' '--with-libdir=lib64' '--with-pdo-mysql' '--with-mysql' '--with-pcre-regex' '--with-zlib' '--enable-bcmath' '--with-curl' '--enable-soap' '--enable-mbstring'
    
    I played around with the lsapi settings, these seem to give me the best results:

    [​IMG]
  4. NiteWave

    NiteWave Administrator

    please test again after following modification:
    Environment:
    LSAPI_CHILDREN=1000
    LSAPI_MAX_REQUESTS=50000

    Instances:1
  5. NetJam

    NetJam New Member

    Hmm.. those settings will gag the server... load 300+

    Also noticed lsphp5 takes up way more CPU than Apache.. After a 20000 requests the % SI (software interrrupts) becomes 70%..
  6. webizen

    webizen New Member

    what's your server env? if i you don't mind, pm your server temporary root access for us to take a peek.

Share This Page