|
LiteCommerce ASPE system has been designed to manage high numbers of client stores. As the number of client stores installed on your system increases, higher requirements are set on server performance and overall capacity. While there are many factors to consider when tuning your system, certain measures described below can help you increase efficiency of your LiteCommerce ASPE system by optimizing the configuration of LiteCommerce ASPE, web server application and PHP engine. To increase the speed of your LiteCommerce ASPE system consider the following recommendations:
| • | Move product images and thumbnails to the file system and forbid your clients to upload product images and thumbnails into the database by assigning appropriate access policy rules to client stores (Figure 21 shows access policy with 'Storing images in a database' disabled). |
| • | Install HTML Catalog module and recommend your clients to use the static HTML catalog for the list of products. |
| • | Refrain from using HTTPS for the admin and customer zones, as HTTPS sets great requirements to the server speed. However, not using HTTPS considerably increases the security risk, that is why it can be recommended only as a temporary measure until the other parameters affecting the operation speed of your server are optimized. |
To enhance the speed of PHP engine consider the following:
| • | Upgrade your PHP4 engine to the latest release version, as earlier versions are notably slower. |
| • | In 'php.ini' configuration file specify the following parameter values: |
output_buffering = On
implicit_flush = Off
register_argc_argv = Off
| • | If possible, use PHP engine in web server module mode rather than CGI mode to enhance the speed of PHP code execution. |
| • | Take an advantage of PHP accelerator software. |
If you are running Apache as a web server application, consider the following recommendations:
| • | In the 'httpd.conf' configuration file set the values of: |
1. 'KeepAliveTimeout' to 1 or 2 seconds;
2. 'HostnameLookups' to 'off'
| • | Optimize the values of 'StartServers', 'MinSpareServers', and 'MaxSpareServers' parameters. |
| • | Use a separate httpd for delivering static content (html, images). |
| • | Use accelerator utilities for Apache. These utilities take over the job of properly closing network connections from an http server, making it possible to serve the same load using considerably fewer web server processes. This translates into a reduced load on the server. |
As the number of visitors to your client stores grows, you might need to upgrade your hardware to increase the capacity of your server. The most common bottlenecks are associated with:
| • | Memory resources: Increase amount of RAM on your server(s) to improve server performance; this is especially important for a server that runs MySQL databases; |
| • | CPU resources: Increase processing power of your server(s), consider using server(s) with multiple CPUs; both PHP and MySQL are processor-intensive applications and will take great advantage of multiple CPUs. When selecting new CPUs for your servers, choose those with larger L2 cache. |
| • | Network connection: If the network connection speed is slower than required by the system, consider using utilities that would compress dynamically generated online store content for delivery (note that such utilities require additional CPU resources to perform content compression). |
For extensive LiteCommerce ASPE systems, deployment of multiple servers is highly recommended:
| • | Dedicate a server to run MySQL database server application. Don't run any applications on that server other than MySQL database server, with the exception of necessary utilities. |
| • | If the load on your web server and PHP engine is overwhelming, you will benefit from using load balancing scheme: move LiteCommerce ASPE script repository to a separate shared network resource (using NFS, Samba or NetBIOS) and configure several servers to service HTTP requests using the same networked data space. |
| Note: | If your shopping system is distributed to multiple servers, make sure that they are linked together by a high-speed network connection. |
Performance enhancement tips provided in this section give you some major points on how your LiteCommerce ASPE system performance can be improved. These tips should not be considered as a comprehensive guide on tuning web systems, please refer to specialized literature on the subject if you are looking for more in-depth information.
|