How To Enhance The Performance Of An E-commerce Portal Powered By Magento?
November 23rd 2015 Posted at Databases
Comments Off on How To Enhance The Performance Of An E-commerce Portal Powered By Magento?
Magento is a professional open-source E-Commerce solution designed to provide merchants with an unprecedented level of control over their web-based stores. Magento’s flexible modular architecture allows to customize store’s interface to suit specific requirements and allows customers a fast, friendly, and convenient on-line shopping experience. But there are few areas in Magento which needs modifications to speed up or to enhance the performance of Magento. Such as,
Enhance Environment Components :
It demands all three section of the systems ready to work i.e, Hardware, Software, Network. For Hardware sufficient amount of RAM, modern systems with multi-core CPUs, high front side bus speeds and fast hard drives, preferably at 7200RPM and above are best to use. Insufficient network I/O throughput and latencies in the internal network can significantly impact performance of a multi-server setup. Only current, up-to-date and well-configured versions of the Linux Kernel, Apache, MySQL and PHP will provide better performance results.
Database Configuration :
Optimizing the database (MySQL) configuration can provide up to a 70% performance boost. The InnoDB engine can effectively use multiple threads to serve more concurrent connections.
Database Replication :
Its always very difficult to work in database having horizontal structure rather than hierarchical structure. Here we can enhance the database performance by doing replication of the main database server. One will be the master database and the rest will be called slaves. The master is to accepts any sort of write-based queries, which then replicated by each of the slaves in real-time. The advantage is that Magento can issue read queries to any of the slave servers, saving all the write queries for the master database.
Web Server Configuration :
An optimized MySQL and Apache configuration shows 55-70% performance increases on dynamic pages. Default Apache and MySQL configuration is not able to handle higher concurrencies resulting in the results for that concurrency varying a lot between tests.
Reverse Proxy Configuration :
Reverse proxies can be used to speed up the serving of cachable assets such as images, CSS, html and JavaScript by removing the need to ask the web server to serve them.
Apache mod_proxy/mod_cache :
Use Apache with mod_proxy using worker MPM.
Apache configuration has to be KeepAlives enabled.
Disable apache htaccess files to decrease the Apache execution-time.
Minimize apache logging to lessen file operations needed for every incoming request
Optimize browser cache by telling the browser which files to keep in cache for how long.
Accelerating PHP :
Adding a PHP accelerator provides a performance boost from 42% on simple pages to 500-600% when different PHP-files are used. APC accelerator provides good results. eAccelerator is 15-20% more efficient.
Real path cache configuration: It is also highly recommended to increase the default realpath_cache_size and realpath_cache_ttl values in php.ini settings.
php.ini configuration:To reduce the memory usage and speed up PHP performance only the minimum set of PHP extensions required to run Magento(Enterprise Editions) in php.ini.
By opcode caching, PHP-execution can be fastened. There are many other PHP accelerators also like APC, ZendOptimizer +, eAccelerator, XCache. Both APC and Zend Optimizer+ are working flawless with Magento TM.
Handling Sessions:
Use memory-based file system such as tmpfs, which save all those extra disk IO cycles by storing these temporary files in memory instead of slow hard drive.
memcached service can be run in the cluster servers to provide fast session storage for all web-nodes.
Modify the configuration for MySQL server to take better advantage of server’s RAM. Most Linux distributions provide a conservative MySQL package out of the box.
Directory Structure Optimization :
Enabling Magento Enterprise Edition Compilation Module provides a 10-15% additional performance boost.
Some Other Tips To Speed Up Magento :
Compress PNG & JPG Images format, which lowers the bandwidth between the browser & the web server.
All the available caches in the Magento Admin Panel must be enabled.
Do W3C validation, it makes sure the browser engine has an easy job parsing HTML-code.
Merge all CSS and JavaScript files together as one big file to save bandwidth, as only one single HTTP-request is needed to fetch this content.
Disable unneeded Magento modules, which are not required.
Use Magento Compiler module to limits the number of directories
Enable flat catalogs for smaller web shops to save time
Serve Static content like images, CSS-style sheets or JavaScript-files through CDN that are more optimized.
Use Lazy Load JavaScript effect that makes sure only visible images (within the browser screen) are loaded
If site does not need local Magento modules, one can choose to skip the search for local modules altogether. Within the app/etc/local.xml file, one can find an XML-tag allows you to do so.
Try to optimize Magento application by using cloud computing.
Shankhadip is a webmaster working in InSync Tech-Fin Solutions Ltd and a SAP Business one consultant for the couple of year. Specialized in Target Marketing through internet. Now working on SBOeConnect.
Both comments and pings are currently closed.