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/06/13 18:31]
Kacey Schroeder
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.
Line 19: Line 22:
   * Is the speed of your network card a bottleneck?   * Is the speed of your network card a bottleneck?
   * Are your server kernel settings configured for high traffic?   * Are your server kernel settings configured for high traffic?
 +  * Is your site under attack?
 +  * SSD is a must. You should not run on a server with a regular hard drive.
  
 Addressing any of the above may improve the performance of your server. However, performance issues may be related to something entirely different. Your situation may vary greatly, because of this, we recommend ordering our **[[https://​store.litespeedtech.com/​store/​cart.php?​gid=5|LiteSpeed premium support service]]** for a professional review, fine tuning, and installation/​enabling of necessary elements to optimize your server and maximize site performance. Addressing any of the above may improve the performance of your server. However, performance issues may be related to something entirely different. Your situation may vary greatly, because of this, we recommend ordering our **[[https://​store.litespeedtech.com/​store/​cart.php?​gid=5|LiteSpeed premium support service]]** for a professional review, fine tuning, and installation/​enabling of necessary elements to optimize your server and maximize site performance.
  • Admin
  • Last modified: 2017/06/13 18:31
  • by Kacey Schroeder