How NOT to build Litespeed with FCGI support?

#1
I recently switched from an nginx/apache setup to litespeed. I run a very large, very active vbulletin forum with vbseo installed. On my previous setup, php was installed as a dso module and all php applications ran with that configuration. On the litespeed setup, I used the WHM plugin with easyapache integration. I built php as a dso module, but when litespeed builds the matching php binary it seems to be some sort of combination of dso/fcgi. Is that possible? vbseo and photopost are now running via the command line, and apparently as cgi scripts while the main vbulletin forum appears to be running with php as a dso module? This kills the server during peak traffic periods. How can I build the matching php binary and configure it to only use the dso module mode, i.e., completely disable fcgi/cgi?
 

webizen

Well-Known Member
#2
the matching php built by lsws plugin is lsphp (PHP + LSAPI) combines with best performance and security.

http://www.litespeedtech.com/php-litespeed-sapi.html

if your environment is dedicated, make sure php suEXEC (Admin CP -> Configuration -> Server -> General) is disabled.

check 'EAProc WaitQ' column (Admin CP -> Actions -> Real-Time Stats) and see if it is non-zero during peak hours. Adjust Max Connections in External App -> lsphp5 if EA WaitQ is non-zero consistently.
 
#3
I run a database server and a webserver. I have memcache installed and in use for the vbdatasore. XCache is also installed.

The EAProc WaitQ column is always 0, even when the server load skyrockets.

phpsuexec is disabled.

The connection pool under Admin CP -> Actions -> Real-Time Stats -> External Application will occasionally show all available connections in use when the load skyrockets. Max Connections is currently set at 150. I have had it set as high as 300. I lowered it because it seemed that the higher the setting the higher server load.
 

webizen

Well-Known Member
#4
I run a database server and a webserver. I have memcache installed and in use for the vbdatasore. XCache is also installed.

The EAProc WaitQ column is always 0, even when the server load skyrockets.

phpsuexec is disabled.

The connection pool under Admin CP -> Actions -> Real-Time Stats -> External Application will occasionally show all available connections in use when the load skyrockets. Max Connections is currently set at 150. I have had it set as high as 300. I lowered it because it seemed that the higher the setting the higher server load.
If EAProc WaitQ stays 0, there is no need to increase Max Connections (use with care). 35 is the default. bump to 50, or 100 if needed (environment variable PHP_LSAPI_CHILDREN needs to match it). in your case, pls lower to 100.

when server load skyrockets, what takes most cpu cycle in 'top'?
 
#5
If EAProc WaitQ stays 0, there is no need to increase Max Connections (use with care). 35 is the default. bump to 50, or 100 if needed (environment variable PHP_LSAPI_CHILDREN needs to match it). in your case, pls lower to 100.

when server load skyrockets, what takes most cpu cycle in 'top'?
vbseo.php. This is a killer. When I run Apache with php built as a dso the vbseo.php file does not cause load problems. But with Litespeed, vbseo.php runs as a cgi file, which kills the server load. Why is it running as an external application?
 
#7
It is for security.

http://www.litespeedtech.com/php-litespeed-sapi.html

since you have suEXEC disabled, you can leverage opcode cache as well as LSWS build-in cache (http://www.litespeedtech.com/support/wiki/doku.php?id=litespeed_wiki:litespeed:cache:vbulletin) for vbseo performance improvement.
I have XCache, Memcached and Litespeed Cache installed. I have VBSEO configured to use Memcached since it can't use XCache if it runs from the command line.

None of that helps. When the site is busy and there are 6 - 7000 people online the site lags and the load increases and it's always because of hundreds of vbseo.php processes.

The server has 24GB of RAM and and Quad Core E5620 processors.

Out of all the mods installed on the site, only VBSEO runs as an external application. Why?
 

webizen

Well-Known Member
#8
I have XCache, Memcached and Litespeed Cache installed. I have VBSEO configured to use Memcached since it can't use XCache if it runs from the command line.

None of that helps. When the site is busy and there are 6 - 7000 people online the site lags and the load increases and it's always because of hundreds of vbseo.php processes.

The server has 24GB of RAM and and Quad Core E5620 processors.

Out of all the mods installed on the site, only VBSEO runs as an external application. Why?
It is PHP (not vbseo specifically) that is handled as external application.

please elaborate "none of that helps". do you mean none of them make any difference or help a bit but not enough? pls note that vbseo is extensive php application and consumes much cpu power. maybe your server is unable to keep up with the load as your site has more users.
 
Top