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:improve-performance [2017/12/21 19:51]
Jackson Zhang
litespeed_wiki:php:improve-performance [2019/07/12 13:07] (current)
Jackson Zhang
Line 6: Line 6:
   * Try PHP 7 instead of PHP 5.x. PHP 7 claims to be twice as fast as PHP 5.x.   * Try PHP 7 instead of PHP 5.x. PHP 7 claims to be twice as fast as PHP 5.x.
   * Install and enable PHP opcode cache. ​   * Install and enable PHP opcode cache. ​
 +  * Make sure PHP ''​xdebug''​ and ''​snmp''​ modules disabled if you don't need them. ''​xdebug''​ module is for Dev IDE integration only and should not be installed by default. ''​snmp''​ module will scan and parse available MIB files and not everyone needs snmp support. ​
   * Check the real time stats for the number of PHP processes during peak time(LSWS Web Admin -> Actions -> Real-Time Stats->​External Application),​ check "In Use", "​Idle",​ and "​WaitQ"​. If WaitQ is frequently higher than 0, the PHP max concurrency setting may need to be increased. For shared hosting environments,​ where PHP SuEXEC is normally used, **PHP suEXEC Max Conn** needs to be increased. See our **[[litespeed_wiki:​php:​concurrency|PHP Concurrency wiki]]** for more information on determining if PHP SuEXEC is used and how to increase the max concurrency of PHP.   * Check the real time stats for the number of PHP processes during peak time(LSWS Web Admin -> Actions -> Real-Time Stats->​External Application),​ check "In Use", "​Idle",​ and "​WaitQ"​. If WaitQ is frequently higher than 0, the PHP max concurrency setting may need to be increased. For shared hosting environments,​ where PHP SuEXEC is normally used, **PHP suEXEC Max Conn** needs to be increased. See our **[[litespeed_wiki:​php:​concurrency|PHP Concurrency wiki]]** for more information on determining if PHP SuEXEC is used and how to increase the max concurrency of PHP.
   * If you see something like: **[STDERR] Reached max children process limit: 10, extra: 3, current: 13, please increase LSAPI_CHILDREN**,​ try to increase LSAPI_CHILDREN.   * If you see something like: **[STDERR] Reached max children process limit: 10, extra: 3, current: 13, please increase LSAPI_CHILDREN**,​ try to increase LSAPI_CHILDREN.
  
   * Upgrading to a higher CPU LiteSpeed license should provide more processing power.   * Upgrading to a higher CPU LiteSpeed license should provide more processing power.
-  * If the server has enough free memory, put PHP sessions and opcode cache disk storage under /dev/shm. If server I/O wait is high, enable AIO logging.+  * If the server has enough free memory, put PHP sessions and opcode cache disk storage under /​dev/​shm. ​ 
 +  * If server I/O wait is high, enable AIO logging
 +  * Does the domain hit CloudLinux LVE IO Limit? Use ''​lvetop''​ to verify if IO is reaching the defined maximum (xMB/s)
   * Have you enabled the timezonedb module for your PHP? We do see poorer performance when people move to a cloud server with shared storage, the I/O latency could cause trouble. Without PHP timezonedb module with built-in DB, it may not have a huge impact on a server with the local disk but it will be very costly for a cloud server with shared storage since PHP will scan hundreds of directories.   * Have you enabled the timezonedb module for your PHP? We do see poorer performance when people move to a cloud server with shared storage, the I/O latency could cause trouble. Without PHP timezonedb module with built-in DB, it may not have a huge impact on a server with the local disk but it will be very costly for a cloud server with shared storage since PHP will scan hundreds of directories.
   * Check your "​top"​ output to determine which processes are using too much CPU/memory. Buggy PHP code could be causing these performance issues.   * Check your "​top"​ output to determine which processes are using too much CPU/memory. Buggy PHP code could be causing these performance issues.
  • Admin
  • Last modified: 2017/12/21 19:51
  • by Jackson Zhang