Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

All of these websites will be dynamic(database-driven). I will be getting mostly text from databases and some images in a day.

It's a windows server. Do you think 1GB RAM would be enough? I can not make up my mind!

data would reach 1 GB pretty soon since it's multiple websites and some small images. Tables would be indexed. I am using ASP.NET MVC (C#.NET). I am caching things inside C#.NET big time. I will be returning around 10 rows of data for each visit, but I am caching things a lot in my websites, too. Do my questions clear things up? Those visits should be spread out throughout the day, BUT I dont know for sure.

I should also mention that it's a Hyper-V VPS and OS is Windows Server 2008

share|improve this question

closed as not a real question by sysadmin1138 Jan 9 '12 at 21:44

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Can you please give some more info.. What version of Windows? ASP, .NET, CF? What type of web app is it? 20k/day doesn't mean much, 1 hit every 4 secs, could it be that 90% of that traffic is during 9am-5pm? –  commandbreak Mar 1 '10 at 2:06
    
I edited my question –  TPR Mar 1 '10 at 2:16
1  
You are the best person to answer this question! Get it running, generate some load to test & see! –  Nick Kavadias Mar 1 '10 at 2:49

4 Answers 4

up vote 0 down vote accepted

One thing i've learn is to never estimated how much an SQL server (either MySQL, Microsoft SQL Server) need memory.

You will set the application and databases, everything will be fine and may well fit under 1Gb of memory. Thats one thing you KNOW.

What you don't know : Traffic increase and traffic spikes - if any is possible with your application.
Query update/changes - Over time, your application will most likely have updates, which usually comes with new SQL requests. Some of them might not be optimized and overkill, others could be simply not optimizable.
The list goes on, but you will certainly at one point hit 1Gb and start swapping.

I would rather start low like you do and make sure that you can add memory at any time. Invest in a software to monitor and trigger alerts so you can add memory when needed.

The best way to lower your SQL memory footprint is probably to cache queries. In the meantime it also speed up requests.

share|improve this answer

you can never have too much memory and in this case 1 GB is definitely too little. Your OS will consume a good chunk of that, SQL will eat up more, and your heavy caching will finish the job. Basically this setup is going to be constantly swapping and will probably perform terribly.

share|improve this answer

Will it run, yes. Will it be acceptable to some users, yes. Will it perform really well, probably not. SQL loves memory like a fat kid loves cake.

I wouldn't worry about it too much if it's a VM, if you don't have enough memory just throw more at it.

share|improve this answer

how big is your data?

did you do any optimization on database?

which programming lang are you using?

how large is the response ?

how quickly do you want to return it ?

have you ever considered caching?

share|improve this answer
    
data would reach 1 GB pretty soon since it's multiple websites and some small images. What kind of optimization? Indexing, yes. I am using ASP.NET MVC (C#.NET). I am caching things inside C#.NET big time. I will be returning around 10 rows of data for each visit, but I am caching things a lot in my websites, too. Do my questions clear things up? –  TPR Mar 1 '10 at 2:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.