I’ve been doing this IT thing for almost 40 years but I’m going to admit to being dense about how RAM is used in DH shared space.
I’ve been trying to test the limits of a WordPress site I’m building, adding plugins and watching memory usage. As I add each plugin I see memory use rise a few hundred K, a couple use over 1MB. Now I have an average hit to the admin dashboard at just over 90MB.
So a single user/developer is hitting the site and using 90MB RAM for about 2 seconds. What happens when a second person hits the same page? Is shared space now attempting to consume 180MB? Is anything cached so that the code pulled into memory by the first is re-used by the second? How long does it remain in cache?
I know there’s some fudge-space between 90MB and 128MB. I’m not going to push it but I’m trying to figure out how many users can hit that page if the first one consumes 90MB. If code is cached for multiple users and each additional user adds memory usage just for session-specific data, then is it reasonable in this scenario to guess that this one site might be able to support about 20 simultaneous users @90MB for code and about 1MB per session for each additional user?
That’s one site. I have a number of domains on my account. So is that 90MB allocated from a pool available to the account? In other words: That one hit of 90MB only works because no one is hitting one of the other domains. A single hit on another site might consume maybe another 70MB, and I’m guessing that a total of 160MB at any given second i likely to trigger Procwatch to randomly kill one of the connections.
To respond in advance to expected comments: Yes, I know this one site is heavy with plugins. I want to move it to VPS here at DH or elsewhere. What I’m trying to figure out is how much RAM I actually consume on an average hit, so that I know how much RAM I need to buy to support X simultaneous visitors. Without metrics I don’t just want to throw hardware at a site and hope that it stays up. I want to understand how the resources are being used and make solid decisions based on that data.