CPU Usage Leak

#1
I use LS with large traffic of 1000+ requests per second. After running for 3-7 days the CPU idle time reduces very noticeably by 20-30% under the same traffic load. Performing graceful restart of LS instantly increases CPU idle time back to where it should be. There are obviously some inefficiencies that over the course of hundreds of millions of requests make LS hog much more CPU than it should. I got into a habit of performing weekly graceful restarts. I hope this can be identified and addressed in future releases.
 

mistwang

LiteSpeed Staff
#2
Are you sure the extra CPU time is consumed by lshttpd?
Maybe it is the PHP or its opcode cache, does not related to lshttpd itself.
 
#3
Ok, I've let LS run for another week and checked what I see with 'top' command before and after LS graceful restart.

After 1 week of continuous running:
lshttpd - one process - between 23 and 28 % CPU, 5% memory
lsphp - about 50 separate processes - typically 5 to 8 % CPU each, 0.1% memory each

After graceful restart:
lshttpd - one process - between 20 and 22 % CPU, 1.7% memory
lsphp - about 50 separate processes - typically 1 to 7 % CPU each, 0.1% memory each

phpLsapi variables:
PHP_LSAPI_CHILDREN=50
PHP_LSAPI_MAX_REQUESTS=5000
 
Top