My company is venturing into the e-commerce business and we were in the initial stages of making the business plan and the question of hardware for hosting came up.
I have read many topics and found that there is no such benchmark for a magento 2 installation out there at the moment. Everyone one says that it all depends on the traffic and the number of transactions. Some people also said that it depends on the number of SKUs as well. Based on their recommendation the hardware specs turned out to be 96 x 12 core processors which does not make sense to me.
My requirements are as follows
Visitors per day: 500
If someone could provide a basic benchmark of the hardware specs required for hosting, it would give me a starting point.
For your requirements, a basic cloud server will work just fine (2GB RAM/2 vCPUs) but I normally suggest to go with 4GB RAM/4 vCPU server which will give you a bit better performance for a very little extra money (we have clients with a higher number of SKUs and traffic running on those servers). Anything larger than this will be a waste of money and, with a cloud server, you can upgrade at any time as your traffic grows. Just make sure, your server is optimized specifically for Magento 2 (without this, Magento will be slow even on 32Gb server).
hope this helps.
The real issue is not the hardware, but the setup.
Here is a setup that serves 80.000 visitors/month (on average) with peaks at 1500-2000 real time visitors, 19.500 SKUs (simple and configurable), 2 store views:
- Varnish Cache
- Redis as Magento Cache Backend
- Percona (instead of standard MySQL Server)
- opimizations made in Magento (example: disable rss module completely)
only 1 dedicated server (costs <100$/month) is used with the following specs:
- CPU: i7-920 quad core (it's a desktop cpu, not a Xeon)
- 24 Gb of RAM
- 2 x 750 GB SATA 3 Gb / s HDD - RAID 1
The avg page loading tim:
- frontend is 500-800ms (any action, including add to cart, search, filters).
- admin actions take 1.5-2s (product import creates spikes in load time, because that takes between 20s to 5 mins).
The issue is when you have more than 10 orders a minute, saving each order causes some locks and delays the other orders.
Users are updating product catalog all day (10 users on average, constantly modifying existing products or adding new products, other users are processing orders - status change, issue invoice, etc).
With Magento, just throwing huge hardware will not solve the performance issues... even if you use 10 huge web server with an extra huge db server, you will still have performance issues.
Hi Mr. Fineestshops,
Request you to provide the basic server configuration for hosting the e-commerce website build on Magento 2.0 on cloud server.
SKU - 100
Orders per day - 150 max
Visitors per day - 500 max
Could you be specific regarding the point which you have mentioned "server is optimized specifically for Magento 2"? I mean exactly what needs to be done at Server end.
To start, you need varnish or FPC cache, nginx, PHP 7, percona database.
When server is setup and store is running in production mode, you can do a load test and monitor the processes to see what else needs to be fine tuned to speed it up. It will also help to estimate the approximate traffic your setup can handle.
By the way, you are a bit too optimistic about getting 150 orders per day with maximum 500 visitors per day. To be getting 150 orders per day, you will need from 7,000 to 10,000 unique daily visitors - which is a bit more than 500 visitors you specified and you will need a different setup for that. For 10,000 daily visitors, I would go with a separate database server and bigger web server and probably a load balancer with multiple web servers. It's a very different setup from the one you need to handle 500 visitors per day.
Thank you for replying.
Kindly find the below-mentioned Cloud server configurations which we have right now.
CPU - 4 Core
RAM - 8GB
Primary Storage - 60 GB (SAS)
Backup Storage - 60 GB (SAS)
Dedicated Antivirus and Firewall Services and SSL Certificate
Even with 2 users also, the web application is taking 90% of CPU, which inturn the pages are taking lifetime to load
Regarding the above-mentioned issue, neither my Magento developer team (or) server hosting team couldn't able to solve it out.
It would be grateful if you could provide your opinion regarding solving of page load issues.
Do you know what sort of software are running in the server?
Slowdowns and high CPU usages can be caused by unoptimized software at the server level and also bad configurations at the application level (Magento).
Few questions before we can provide better assistance:-
That server is more than enough to run Magento store properly. This can be a software issue (developers added some crappy code or extension which is causing that problem) or server configuration issue. It can be both, but it's probably one or another.
1) Check with your hosting guys if Varnish or some other cacing is setup and working properly; if not, they do not know anything about optimizing a server for Magento - just change to a better host who is specializing in Magento and you'll be fine.
2) If Varnish is running properly, most likely the problem is with the code added to the store or some extension installed. In this case, get a better developer who can identify and fix the problem.
Even if, by some mirracle, you will fix that problem, what are you going to do if your store goes down right after a promotional mailing with 5000 customers trying to open it and getting an empty page? Post a question on the forum and hope somebody will guess a fix in a few day?
I hope this helps you with the next step but somebody on your team does not know what they are doing.
Kindly find the below mentioned replies for the queries posted by you.
1. Softwares running on server
2. Website server version - Apache 2.4.25
3. Mysql version running on server - 5.6.35
4. Cache Enabled
Mysql and webserver has not optimized. I informed my server team to optimize the same
I have increased by server for the time being to 12 Core and 16GB Ram, with Cache enabled. But, still my page loads very **bleep** slow and my CPU for this application takes around 80% still
We have confronted the same, with our website development team. To my surprise, they still justify that issue is on the server side.
Kindly find the below image for your reference.