Pre sales question; serverload / memory usage

#1
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:
#3
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:

 
#5
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%..
 
Top