In this video I walk you thru the eight pieces of data you're going to need, the next time you're trying to figure out WooCommerce server requirements.
The Data You Need
Daily Traffic
One of the things you're going to want to know is how much traffic you get on a daily basis. This is pretty easy if you have Google Analytics in place. Understanding your “foot traffic” helps you know how busy your site will be, while it also helps you understand (along with other data) what kind of concurrency levels you'll reach.
Page Visits during Sessions
As people visit your site (a session), how much of your site do they browse? On average is a person hitting 10 pages, or 2? Google Analytics, again, is your friend here. You can get this data from them pretty quickly.
Average Page Weight
The next bit of data takes a tiny bit more work. If you look at your Google Analytics, it will tell you the most commonly visited pages. Take those page URLs and head over to GTMetrix. Put each one into their tool and you'll get back a lot of different data. You can run it a couple times just to make sure you're getting good data. But in the end, you're going to want to know the average size of each of those pages, and the average across them. This is normally in kilobytes or megabytes.
Average Load Times
Another bit of info you can get from GTMetrix is how long each of those pages takes to load. Normally found in seconds, and preferably in the low number of seconds, the number you want is the average across your most popular pages.
High Traffic Periods
This one is a bit harder to calculate for some, but Google has a pretty good way to show you when you are getting the most traffic. What you want to figure out is how long, on each day, is the period of with the most traffic. This gives you a sense of how to manage capacity—because even if you have 24 people visit a day, they don't come one per hour. You might get 12 of them in a single hour—and your server needs to be ready for that.
Conversion Rate
If you know how many people visited your site this month, and how many made a purchase, you know your conversion rate this month. If you average it across many months, you end up with a conversion rate for your site. You're going to want to know that number.
Current Database Size
You may need to ask your host or your developer for this number, but knowing how big your database is, in terms of MB or GB, will help you predict what additional capacity you'll need over the next year.
Total Orders in the Database
Lastly, you're going to want to know how many orders are in your database. The reality is that neither your database size nor the total orders are a good proxy for your needs. That's because different sites with the same order volume can have really different sizes of databases—simply because of the plugins they're using. But when you have both, you can make some smart calculations.
Conclusion
If you have this data, an engineer can create a pretty solid model of your server needs. We do that by simulating server cycles and memory utilization for each session and then calculating a number for concurrent users. From there, the math is pretty simple—as you multiply the two together to get RAM requirements and projected database growth (month over month). And of course t,he concurrent sessions will help you evaluate CPU needs.
But none of this is possible if you haven't collected these pieces of data. So make sure you start there.