This is an old revision of the document!


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.

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 identify slow scripts.

Slow scripts are not the ones which necessarily break your site but they can be slow in themselves and 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 what functions are running longer than a specified time.

LiteSpeed uses the faster LiteSpeed API (LSPHP) instead of PHP-FPM. What's the best way to identify slow scripts with LSWS and LSPHP?

There is a directive, which can be placed at external application settings (WebAdmin console > Configuration > External App > Environment).

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.

Slow scripts are written to the 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. You should try to identify what is slowing down the script with the script author.

  • Admin
  • Last modified: 2017/12/12 20:53
  • by Robert Perper