I'm seeing a trend in hosting providers that give limits to superficial things rather than actual hardware/power.
For example, a host says "unlimited storage!!!!" but then 250k inode limit. So in other words, not unlimited at all, it's saying you can only have so many files and folders.
Or they say "no limit on bandwidth!!!!" but then they limit input/output throughput.
They give you super fast CPUs and NVMe drives and such, but then limit read/write operations per second.
You can have 100 CPUs and 100GB RAM but then they limit "entry processes" or the max concurrent connections, making how powerful your server is, fairly irrelevant. You might have all the RAM in the world but then they don't let you increase the PHP memory_limit beyond 512MB. They give you many CPUs but then limit processes, entry points, PHP workers, etc, crippling the raw power of those CPUs.
To me, this is just silly.
I'll give an example. A client has a "high end" hosting package on GoDaddy, it has 16GB RAM and 8 CPUs. You'd think this would be pretty powerful. But when they launched the site and put out some marketing, it quickly starting hitting all these superficial limits until within the single day of launch, GoDaddy is saying we've "reached the limits". We maxed out their "entry processes" limit, their "processes number", and their "I/O usage resources limit".
I'm just like, WTF? There might have been only 30 or 40 people browsing the site at the same time, hardly masses of people. Hardly more than what 8 CPUs and 16GB of RAM can't handle! Normally I would say that 8 CPUs and 16GB of RAM could process hundreds, maybe thousands of concurrent users, that's really beefy as far as specs. But they drop these artificial limits and that CPU and RAM becomes meaningless IMO.
I have another VPS with low end specs, 4GB RAM and 2 CPUs. I calculated that I could allow about 30 PHP workers. Yet from most shared hosting, even with matching dedicated resources, they limit PHP workers to 2 or 4 or 8 etc. Why are they crippling the abilities of that much CPU power?
So my question is, does anyone have any insights why they do this? My assumption is that are picking these limits because they represent the max that the hardware can process. But it doesn't seem that way. 8 CPUs should be able to process more than 40 visitors. Is it just to be cheap, are they secretly "sharing" this hardware even though they advertise that it's yours?
My next question is, it is extremely hard to find any info about how to calculate how much CPU/RAM is needed for any given workload. If you have X daily visitors or concurrent visitors with a page size approx X MB etc. Just how many concurrent users can 1 CPU and 1GB RAM handle? Can you calculate this by entering some test data like length of visit, MBs bandwidth per user, PHP workers available, etc?
No matter how much Googling I do, most people just reply "well there are some variables here..." and basically everyone just wings it. I know there are some variables, so let's set some values to those variables and calculate some answers!
I guess the bottom line is that I cannot believe that 30 or 40 visitors crashes 8 CPUs and 16GB of RAM. it seems impossible. All it did was reach GoDaddy's superficial limits, I guess to try and make us upgrade?
NameHero also sets these limits, though I don't know if they are better matched to the available CPU/RAM. Other hosts are starting to follow this. It may have something to do with how licensing is for tools like cPanel where the license itself only allows X limits. I don't know.
Can anyone help me process this, and what is the best way forward to make sure I get the full power of my specs? Do any hosting companies (particularly shared) have less annoying artificial limits?