
How we make Magento fast
A combination of the following hardware and software is used to make Magento run fast.
We also use several tools to monitor, graph and analyse the performance 24/7.
Hardware
- No virtualisation, bare metal hardware performance
- Top quality enterprise Dell hardware, redundant: cpu, memory, disks, power, fans
- A fast hardware raid controller with 8 GB BBU Cache
- Tons of memory, 128 Gb per server
- Lots of CPUs: 24 cores / 48 threads AMD EPYC
- Datacenter grade SSD Disks
- BIOS configuration tweaked for Magento performance
- Out-of-band management
Operating System
- Ubuntu 20.04 LTS Server
- Critical updates are installed within 1 workday
- Updates are installed at least every week
- No generic hosting control panel like Plesk / DirectAdmin / cPanel, we have our own specialised configs
Web Server
- Apache 2.4.x with HTTP/2 for customers who want to use .htaccess files
- HaProxy 2.3.x for SSL offloading and load balancing
- Every web server configuration is tweaked for Magento
PHP
Database
- MySQL 5.7.x or 8.0.x
- Configuration tweaked for Magento
- We regularly run MySQLTuner and Tuning Primer
Cache
- Cache in Redis
- Varnish Cache 6.5.x, also older versions supported
- A Cache Warmer script that reads sitemap XML
Sessions
- Sessions in Redis
- Tweaks in PHP configuration for optimal Magento sessions
- A script that cleans up old sessions
Search
- ElasticSearch locally on the server
- We also support Solr, Sphinx, etc
Fixes
- A script to losslessly compress images via image_optim
Security
- On-site spare hardware
- Daily backup with off-site rotation
- Daily MySQL export using mysqldump
- An undisclosed network firewall
- Web Application firewall (WAF)
- Custom rules to protect against known Magento and extension vulnerabilities
- Our network has DDoS filtering using NaWas
- Several configuration changes to increase security
- We have a contract with Sansec‘s to scan all sites daily using eComScan and report automatically
Monitoring
- 24/7 monitoring via Nagios, alerting via PagerDuty
- Munin
- Our own GoBench based load testing script.
- A lot of own monitoring scripts for Nagios and Munin
Development
- JetBrains PhpStorm with Magicento
- XDebug Debugging + Profiling on staging servers
- XHProf with XHGui
- PhpMyAdmin
- n98-magerun & n98-magerun2
- Composer v1 and v2
- Modman
- MySQL Query Logging
- Magento Profiler
- PageSpeed Insights