Typical Hardware for High Network Traffic?

I have four questions, but first some context.

We were running 16 cores and 32 gb of RAM. We had an update to our product which many of our users were excited for. We went from a range of 8Mb/s for our low's and 300Mb/s for our high's to 3300Mb/s on our update launch day. 14 of our 16 cores were used up and all 32GB of RAM and our swap space used and obviously, it brought our site down. It was largely inaccessible at that point. We upgraded to the next tier for our hosting provider which is 32 cores and 64GB of RAM, 14 cores were used still that didn't really change and 36GB of RAM ended up being used after we reconfigured some settings to use the new resources. So we were close to having what we needed. The site became accessible, maybe 1 in every 15 page requests were a bit slow but not too bad and 1 in every like 200 would hang but refreshing would instantly load the page. We use Nginx, Memcached, Fastcgi, and Mysql.

My questions are:

1. Is this the nature of high traffic, is there something I could do to iron out the occasional slow request?
2. What does the hardware setup look like for other users and how much network traffic can it accommodate?
3. Was going down a result of some misconfiguration, could I be using our resources more efficiently, or to your knowledge were more resources always going to be required for the traffic we received?
4. How do you guys know what hardware is needed for your traffic and future traffic needs? Is it really just trial and error?

Final bonus question, is outbound network traffic transfer rates the best way to convey how much traffic we received or is there a better metric I should be using?

I understand these questions are difficult to answer without knowing our specific settings for configuration.... I'm not really looking for specific settings to change, just trying to get a feel for the hardware requirements for Larger Xenforo installations. I'd like to know if I'm doing SOMETHING wrong or if we are using typical hardware for our traffic.
 
What is your user count with standard timeout?
is this all on one machine (db and php?)

bandwidth doesn't necessrily mean 'users'. they could all be grabbing 10 gb files and eating network i/o.
 
You should be able to see what is causing load or get a server admin to check for you.

You may have an addon causing mysql locks depending on your setup, causing long page load times, I have found a few addons that caused this and removed them.

Always use hosting with SSD drives or better. never use Sata.

I Use Elasticsearch. apache backend, nginx proxy frontend.
Check caching headers are set (eg. gtmetrix).

This is with 700 users currently active with Ryzen 9 7940HS running VM, AlmaLinux, PHP 8.3.30 cli Zend OPcache, 11.4.9-MariaDB innodb
screenshot-56.png
 
First, enable Cloudflare CDN to offload your static files away from your server.
You can also move your /data/ and /attachments/ files to Cloudflare R2, reducing your server load even more.

Without Cloudflare, my server could not handle these daily requests and data bandwidth.

1769727492440.webp
 
First, enable Cloudflare CDN to offload your static files away from your server.
You can also move your /data/ and /attachments/ files to Cloudflare R2, reducing your server load even more.

Without Cloudflare, my server could not handle these daily requests and data bandwidth.

View attachment 333203


Yeah we got cloudflare already. I'll look into that second thing.

Our unique visitors got up to 659.97K and 31M requests on our launch day. Crazy day.

Edit: I noticed your data served matches your data cached, ours does not. we have 4TB served and 1TB cached so I'll look into that. I imagine moving our data and attachments to cloudflare will cause them to match and reduce load on our server?
 
Last edited:
Our unique visitors got up to 659.97K
Could be some are just AI Bots.
31M requests on our launch day
If you can cache 98% of this request, server load should go down.

I noticed your data served matches your data cached, ours does not. we have 4TB served and 1TB cached so I'll look into that
Make sure 99% of requests to /data/, /attachments/, css.php, and proxy.php are all cached through Cloudflare; you don't need to use R2 to achieve this.

I imagine moving our data and attachments to cloudflare will cause them to match and reduce load on our server?
It will surely increase your cache hit rate, but it isn't required.
 
I'll ask our hosting provider if they use HDD or ssd drives.


Could be some are just AI Bots.

Yeah someone else mentioned it being AI bots, that's something I plan on fixing. The fact that AI scrape can bring servers to their knees is really annoying...



What is your user count with standard timeout?
is this all on one machine (db and php?)

bandwidth doesn't necessrily mean 'users'. they could all be grabbing 10 gb files and eating network i/o.
I don't remember how many of our vistors were users vs guests... Under members online, I think it was ~500 with the rest just being guests. That got to around 9,000 before the site just came down.

and yes all on one machine
---------------------------------------------------------

Thanks for the replies guys I'll look into fixing our cache-ing setup, deal with AI bots, and check with our hosting provider that SSD's are being used.
 
Last edited:
I'll ask our hosting provider if they use sata or ssd drives.
Minor thing, but different things ... sata being an interface, you can have SSDs (solid state drives) with SATA interfaces. You get SSDs with other interfaces and that's where it gets more interesting. You probably want to confirm they are using SSDs and know if they are using SATA interfaces (odds are if you are using SATA it'll be SATA 2 or SATA 3 which are 3Gbit/s and 6Gbit/s respectively) or if they are using a modern NVMe (over PCIe) interface, which will probably be U.2 or U.3 or M.2(NVMe)

Anyhow sounds like a good launch!
 
Back
Top Bottom