What server resources does a Magento 2 store actually need?
A Magento 2 store needs a Linux server running the exact software versions its Magento release was tested against, plus enough CPU and RAM for the traffic its cache can’t absorb. There’s no universal spec. A small catalog with steady traffic runs fine on one well-tuned server, while busy stores with big catalogs move the database and search onto their own machines.
Quick answer
For Magento 2.4.9 on-premises, Adobe tests PHP 8.5, MySQL 8.4 or MariaDB 12.3, OpenSearch 3, Valkey 9, Varnish 8, RabbitMQ 4.3, and nginx 1.30. For hardware, plan one CPU core per two concurrent uncached requests, plus one core per cron process. Set the PHP memory limit to 2 GB on a single-server store. Give the database RAM close to half the size of your data.
What are the Magento 2 system requirements for 2.4.9 and 2.4.8?
Magento 2.4.9 runs on PHP 8.5 with MySQL 8.4 or MariaDB 12.3, OpenSearch 3, and Valkey 9 on-premises. Magento 2.4.8-p5 runs on PHP 8.4 or 8.3 with OpenSearch 3 and Valkey 8.1. The full tested list comes from Adobe’s system requirements page, and Magento Open Source uses the same core stack.
| Component | 2.4.9 | 2.4.8-p5 |
|---|---|---|
| PHP | 8.5 | 8.4, 8.3 |
| MySQL | 8.4 | 8.4 |
| MariaDB | 12.3 | 11.4, 11.8 |
| Search engine | OpenSearch 3 | OpenSearch 3 or Elasticsearch 8 |
| Cache and sessions | Valkey 9 | Valkey 8.1 |
| Full page cache | Varnish 8 | Varnish 8 |
| Message queue | RabbitMQ 4.3 | RabbitMQ 4.3 |
| Web server | nginx 1.30 | nginx 1.30 |
| Composer | 2.10 | 2.10 |
Version matching is where most Magento server plans go wrong. Adobe only supports the exact combinations in this table, so a server that ran Magento 2.4.6 for years may still be on PHP 8.2 and MySQL 8.0. Neither will run 2.4.9.
What changed for Magento 2.4.7 and earlier?
MySQL 8.0 reached end of support on April 30, 2026, and Adobe recommends that on-premises stores on Magento 2.4.4 through 2.4.7 move to a compatible MariaDB version. The latest patches for Magento 2.4.5 through 2.4.7 also drop Redis in favor of Valkey, which works as a drop-in replacement for cache and sessions on most setups.
Adobe Commerce on Cloud has its own tested service list, and a few versions differ from the on-premises table.
How do you size a Magento 2 server?
Size a Magento 2 server from your busiest hour of uncached traffic, your database size, and the list of services sharing the machine. Traffic drives CPU. Database size and those shared services drive RAM.
How many CPU cores does Magento 2 need?
Magento 2 needs about one CPU core for every two concurrent uncached requests, plus one core per cron process. That rule comes from Adobe’s hardware guide, which notes a core can sometimes handle up to four.
Uncached requests are the ones Varnish can’t serve from cache: cart, checkout, customer accounts, search, and the admin. A store with 10 concurrent uncached requests and 2 cron processes needs 10 ÷ 2 + 2 = 7 cores. Size for your busiest hour, since a sale or a marketing email can multiply checkout traffic within minutes.
How much RAM does Magento 2 need?
A Magento 2 server needs enough RAM for PHP, the database, OpenSearch, Valkey, and Varnish combined, because on a single server they all compete for the same memory. Adobe’s hardware guide gives these PHP memory limits per process:
- Storefront-only web node: 256 MB
- Admin with a large catalog: 1 GB
- Static content compile and deploy: 756 MB
- Single-server store: a 2 GB limit, or 2 GB on a build server and 1 GB on web nodes with pipeline deployments
Total PHP memory depends on how many PHP-FPM workers run at once, since each worker can use up to its limit. The database needs RAM close to at least half its data size, and most of that goes to the InnoDB buffer pool, so a 20 GB database needs roughly 10 GB. OpenSearch runs on the JVM and reserves its heap when it starts, so that memory is taken whether search is busy or idle. Valkey and Varnish need their share on top.
Example: sizing a single Magento 2 server
This worked example applies the rules above to one store with 10 concurrent uncached requests, 2 cron processes, a 20 GB database, and 20 PHP-FPM workers.
| Resource | How it’s sized | Result |
|---|---|---|
| CPU | 10 concurrent uncached requests ÷ 2, plus 2 cron processes | 7 cores |
| Database | About half of 20 GB of data, mostly InnoDB buffer pool | About 10 GB |
| PHP-FPM | 20 workers at the 256 MB storefront limit | Up to 5 GB |
| Subtotal | Database plus PHP-FPM | About 15 GB |
That 15 GB covers only the database and storefront PHP workers. OpenSearch, Valkey, Varnish, admin and cron processes, and the operating system all need memory on top, so a store this size needs comfortably more than 15 GB of RAM on one server.
What storage does Magento 2 need?
Magento 2 needs SSD or NVMe storage. Deploys, cache rebuilds, and indexing all hit the disk hard, and slow disks show up directly in how long they take. The database, search indexes, media folder, and logs keep growing, so leave plenty of headroom when you pick a disk size.
Keep backups on a separate volume or service. A backup on the same disk won’t survive that disk failing.
Should you run Magento 2 on one server or several?
Run Magento 2 on one server while the catalog is modest and traffic is steady, then split it once the database and PHP start competing for resources. On a single machine, size RAM for PHP, the database, OpenSearch, Valkey, and Varnish combined.
You’ll know you’ve outgrown one server when reindexing slows the admin, or when the database and PHP fight for memory during busy hours. The usual first move is taking the database and OpenSearch off the web server.
Stores with big sale peaks or very large catalogs go further. Extra web nodes or autoscaling absorb peak traffic. A separate build server keeps compile and deploy work away from live customers, which matters most when you deploy during trading hours.
Can Magento 2 run on shared hosting?
Shared hosting isn’t a realistic option for a production Magento 2 store. Most shared plans can’t run OpenSearch, Valkey, or Varnish, and many sit on older PHP versions than current Magento releases need. A VPS, dedicated server, or managed Magento host is the practical minimum.
What to check before buying or upgrading a Magento 2 server
Plan around the Magento version you’ll be running for the next two years. Match the server stack to the tested table for that release first, then size CPU from your busiest hour and RAM from your database size.
Load test on staging before launch or a big sale. It’s the only reliable way to see how your own extensions and catalog behave under real load.
If you’re planning a new build or an upgrade, our Magento development team can size the hosting alongside the project work.
Related Answers
Still need help?
Talk to our Magento experts
Not sure your server is ready for 2.4.9? Send us your current stack and we'll check it against Adobe's tested versions.