Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
litespeed_wiki:php:slow_log_lsapi [2017/12/12 19:03]
Jackson Zhang
litespeed_wiki:php:slow_log_lsapi [2017/12/12 21:15] (current)
Lisa Clarke
Line 1: Line 1:
-====== Identify ​scripts that are slowing down your server ​======+====== Identify ​Scripts That are Slow on Your Server ​======
  
-When working with php, you will notice that your site is taking longer to load then expected. ​Learning why your site is loading so slow would be great. You can do an strace but sometimes that information is not always ​the best to read.+When working with PHP, you may notice that your site is taking longer to load than expected. ​It would be useful to learn the reason why. You can do an ''​strace'' ​but sometimes that information is not the easiest ​to read.
  
-If you are a PHP programmer, you must have used PHP’s error_log function ​sometime. But PHP itself does not provide a way to find out slowly executing ​scripts. Slow scripts are not the ones which break your site but they slow-down everything. With PHP-FPM, there is a slow_log function, by which developers can get a trace of what functions are running longer than a specified time+If you are a PHP programmer, you must have used PHP’s ​''​error_log'' ​function ​at some point. But PHP itself does not provide a way to identify slow scripts. ​
  
-LiteSpeed uses more faster LiteSpeed API (LSPHP) instead of PHP-FPM. How to trace the slow script with LSWS and LSPHP?+Slow scripts don't necessarily break your site, but they can be slow by themselves //and// they can slow down your server overall as they increase CPU overhead. ​ With PHP-FPM, there is a ''​slow_log''​ function, by which developers can get a trace of functions whose runtime exceeds a specified threshold.
  
-There is a directivewhich can be placed ​at external application settings ​(WebAdmin console > Configuration > External AppEnvironment ​). +LiteSpeed uses the faster LiteSpeed API (LSPHP) instead of PHP-FPM. ​ So, what's the best way to identify slow scripts with LSWS and LSPHP? 
 + 
 +There is a directive which can be placed ​in the external application settings. Navigate to **WebAdmin console > Configuration > External App** and add the following to **Environment**:
  
   LSAPI_SLOW_REQ_MSECS=10000   LSAPI_SLOW_REQ_MSECS=10000
    
-LSAPI_SLOW_REQ_MSECS: ​If set to a non-zero number, LiteSpeed Web Server will log requests into an error log file if a request takes longer than the specified number of milliseconds. This can help identify scripts that are slowing down your server.+If ''​LSAPI_SLOW_REQ_MSECS''​ is set to a non-zero number, LiteSpeed Web Server will log requests into an error log file if a request takes longer than the specified number of milliseconds. This can help to identify scripts that are slowing down your server.
  
 {{ :​litespeed_wiki:​php:​lsapi_slow_req_msecs_conf_example.png?​600 |}} {{ :​litespeed_wiki:​php:​lsapi_slow_req_msecs_conf_example.png?​600 |}}
   ​   ​
 +The output of the slow script trace is written to ''​stderr.log''​ in the LiteSpeed log directory. ​ An example message would look like this:
 +
 +   ​[12/​Dec/​2017:​15:​37:​41] Slow PHP script: 10993 ms
 +     URL: GET /​wordpress/​index.php
 +     Query String:
 +     ​Script:​ /​home/​user/​olsws/​Example/​html/​wordpress/​index.php
  
 +There may be many of these messages. ​ Note that script slow-downs tend to appear in groups around the time of highest CPU load. When looking to identify what is slowing down a script, a good place to start is with the script'​s author.
  • Admin
  • Last modified: 2017/12/12 19:03
  • by Jackson Zhang