views:

34

answers:

3

Is there a soft to do that?

I'm looking for a windows server (I might go for a VPS server), and I would like to know the ram I will need

I know I won't need a lot of ram, but beside the "windows task manager", is there a way to really test that?

Thanks

+1  A: 

No, no way.

Problem is - a lot depends on your internal data structures, how much you cache, how much you want IIS to cache, how much that makes sense. There is absolutely no way to estaimte that without having some more information.

TomTom
alright, but let's say we start the application and we use a soft to monitor the memory that is used?
davitz38
Then you will know. But thnen again it does not say how elevant that is - first, memory pressure may mean you do more garbage colections - at the cost of caching. Second, I am totally unsure where to see the IIS level output cache ;) I would say... go for a decend sized VPS (1gb-2gb) and then adjust accordingly.
TomTom
A: 

There's hardly a way to estimate it but there are ways to test it and see for yourself.

There was once a Web Application Stress Tool but it was always buggy and now it few years since the last update so I don't think it would work with the new IIS and MVC.

What you could use now is the tools that come in the Visual Studio Team System package - lots of performance, testing and monitoring tools.

HTH

mare
A: 

I don't think there's a reliable way of doing this, because there a just too many factors with managed code (any, not just MVC):

  • garbage collection
  • connection pooling
  • etc...

But one that you can't avoid at all and is very undefinable: your data. Let's say, you're pulling a list of some records that may be this or that long with this or that much properties, with strings of whatever length... You won't be able to reliably estimate memory consumption at all. Especially if users enter data which is probably 99.9% common to all applications in one way or another.

I'd suggest something @mare suggested. Stress test it yourself or get someone do it for you. There are companies doing it against payment.

You can as well do the trial-and-error approach. Launch your app and add resources as it runs. :) But this depends largely on how critical this solution is.

Robert Koritnik