From the system requirements for Windows Server 2008 (on wikipedia.org):
- Minimum: 512 MB RAM (may limit performance and some features)
- Recommended: 2 GB RAM or higher
I'm going to have my website hosted on a Windows 2008 VPS and I was initially planning to use a hosting plan that gives 512 MB RAM (to save some money), but now I'm worried, do the same system requirements apply to Windows 2008 running in a VPS or are there differences? My website has very little memory requirements but I'll be using MySQL which should use some of this memory, should I get at least 1 GB of memory?
You have to measure. These guesses will serve you no good.
I'd hire a 512 MB first, stress test it and if proved that RAM is the bottleneck to achieve the required performance level, then bump up the contract to 1 GB and measure again.
Don't know if all hosting providers will allow you to upgrade at will, but it seems like a natural requirement to me so you shouldn't have trouble finding one that can do it.
There is a huge difference when one looks at the basic requirements of Server 2003 and server 2008. 2008 is based upon the Vista design which has a huge additional OS make-over attempting to solve some of MS' biggest past issues and footprint a new destiny that has moved us into the Win 7 era. But all that glitters, is not always made of gold.
My company markets VPS servers for dedicated users doing Currency or Forex trading, so the audience is fairly captive among the needs to be satisfied.
I have clients demanding Server 2008 R2 without realizing it comes out of the box eating up 400 meg of RAM, due to massive service dependencies that simply the core installation requires. Compare that to the Server 2003 requirements of just 104 Meg of RAM. THAT'S A HUGE DIFFERENCE in a 1 Gig RAM provision. You would think dropping all the unwanted services would help here, but unfortunately MS has interwoven unrelated services into the dependency map to keep you from doing just that. By forcing us to maintain all the services, the unskilled user is much less likely to break some functionality he might need in the future, so MS is forcing us to keep all the brain dead supports alive, to reduce the negative support exposures that come from optimizing performance.
Many have become fond of saying "RAM is cheap these days". But is it? Not when it's part of a leased package a user will re-pay for month after month, especially given it's to support a ton of unused services he cannot turn off, without losing some part of core functionality.
As 2003 is already becoming part of forced obsolescence, the day will come that I cannot offer clients the kind of memory vs performance benefit 2003 provides, which forces me out of the benefit I get by undercutting competition that doesn't understand this. MS continues to make efforts to ward off software piracy to a great extent required because of the policies that have evolved in rushing incomplete products to market, using the customer as a paying beta tester, then relying on patch after patch to finish engineering in a broken and inefficient process of wrapping up a design, just in time to label it obsolete and start over again. Must be some kind of economics at work here I can't understand fully, but it surely doesn't benefit the end user footing the bills.
When MS says minimum memory, they just mean for bare minimum performance. On the other hand their recommended memory is also on the higher end. For me a basic rule that has worked is to double the memory that is in the minimum category. you should get decent performance from that.
Another point, as you said, is your website will not be a memory hungry application. I believe MySQL should also not be memory hungry. You should stop unnecessary services on your instance too. I guess 1 GB will be sufficient to power your server and provide decent performance.
512MB is way way low. 1 GB would be the absolute minimum. My 2008 Web server is using 1 GB of ram running IIS7, a mail server, dns server and mysql 5.1.
I run a Windows Server 2008 R2 based VPS with 1024 MB RAM. I also had SQL Server 2008 Express installed. ASP.NET apps ran fine, but they were not high traffic sites, more just a "developer playground". I also installed Apache 2.2 for Windows and have MySQL running on the same machine (IIS to one IP and Apache to the other). Wordpress and Drupal installations on the Apache side work well as did ASP.NET apps on the IIS side, however the site loading time were longer than I wanted (2 to 3 seconds) so I think I was pushing it with only 1024 MB RAM running both Apache/IIS and SQL Server/MySQL.
1 GB is what Microsoft is recommending. If you're trying with 512 MB VPS, out of the 512 MB RAM Operating system will occupy 360 MB RAM ...
I will stick with MS guidelines and will try out with 1 GB VPS to have optimum performance.