This all depends on the load your planning on putting on the web server.  Assuming you are using Apache as your web server, Apache forks a new process (thread) for every web request.  Drupal uses (my experience) between 20MB - 70MB per process.  Total capacity (number of processes or MaxClients) that the web server can handle is (in simple terms) estimated by the following:

Total num of processes (maxClients)  = *Available RAM divided by AVG size of process
i.e.  Web Server with 8GB of RAM (Assume 6GB Available RAM) running Drupal at an AVG process size of 45MB.
6GB / 45MB = 133 - 134 concurrent processes (*Other 2GB used by OS, and other applications running in background, this is just a guess.)

For this server it doesn't matter if you have 1, 2, or 16 cores the maximum volume of simultaneous processes that Apache can handle is 133 - 134.

Additional cores allow more than one Apache thread to be processed at the same time.  Since an Apache process is blocking until it returns a response the core is unavailable to other processes until the current process has completed.  Since all Drupal requests given to Apache require a call to the DB (As you say assuming no caching), this simply lengthens the time that a process will remain blocked.

The key is how fast are the page request coming in (load on the web server).  A Drupal request can take 100 to 1000 times longer to return the request than say a static web page.  While more cores will speed up the rate of returned processes, they will do so at a diminishing rate of return.  However additional RAM is fairly linear in expanding the number of processes Apache can fork.  The best answer is as much of both.  But with the understanding that you should probably have no less than 2 cores for a production site, I'd go more RAM first.

My two cents.








On Tue, Sep 8, 2015 at 1:44 PM, Sesso <sesso@djsesso.com> wrote:
I would also say at least 2 cores and 4GB RAM. We have many clients that try to run 1 core with bare minimum RAM and their VPS does not run well. Especially when it's magento or opencart. 

Jason

Sent from my iPhone

On Sep 8, 2015, at 1:26 PM, Kevin Fries <kevin@fries-biro.com> wrote:

1 core, 2 cores, 2GB RAM, 4GB RAM, the question is only relevant if you have no expandability.  Select your software, take its recommendation, and probably a little more, then make sure you can grow as needed.

Here is an example.

Let's say you go to AWS, get a server that is large enough to handle Magento.  Your up, and in business.  Now, business is good.  Get another instance and split off your database.  Business continues to grow, and you need a bigger Megento instance.  No problem, snapshot your store, build a bigger instance, move your elastic IP, and retire your old one.

As long as you have the ability to grow, just worry about getting something that gets you in the game.

Kevin

On Sep 8, 2015 2:06 PM, "Keith Smith" <techlists@phpcoderusa.com> wrote:

Hi,

I am wondering what your opinion is on cores and RAM when using a VPS.

I am thinking about this in the context of Drupal and Magento, both of who are resource hogs.

I was told more RAM is much more valuable on a VPS than is the number of cores.

I'm assuming 4G of RAM is enough to not go into swap.  I'm thinking this should be fine for a production site with moderate traffic running either Drupal or Magento.

As you know more cores means more money when it comes to VPS servers, while RAM is cheap.

Of course we know opcode cache, varnish, and memcache(d) can work wonders in speeding up websites. For this discussion lets assume we are using none of them.

The question is, will a second core make all that much difference if enough RAM is present to not use swap?  How would I know I need a second core - look at the load?

And is there other consideration or things I should be looking at?

Thank you very much for all your feedback!!

Keith


---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss

---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss



--
James

Linkedin