views:

149

answers:

2

I've never developed a web application that uses distributed memory.

Is it common practice to run a tool such as Microsoft Velocity on my local machine as I develop, should I run Velocity on another server as I develop, or should I just develop as normal (default session & cache) and use Velocity only after I've deployed to our development server?

We are running into a lot of memory issues in our production web application so we are researching into splitting our servers into a farm.

+3  A: 

I'm looking at using Velocity on a project as well. What I've done thus far is to write a common caching interface and a simple implementation that utilizes the standard ASP.NET caching system. This way I can program against that interface and later plug in the Velocity caching via a concrete implementation of the interface. You can accomplish this more easily using a dependency injection framework such as Unity or Structure Map.

As for where to use Velocity, I'd be sure to try it out in a development environment before going live. If you have a limited number of physical machines, use Virtual PC to set up some virtual servers and install the caching framework onto them.

Brian Vallelunga
A: 

Ahh that is some good feedback. I was thinking just the same thing about writing a common caching interface so I can switch out the default caching with Velocity without any code changes.

Based on an article by Stephen Walther, he appeared to be installing Velocity on his local development machine. So, that sounds like a good place to start.

In his article I was pleased to see that switching out the Session in the web server required no code changes... it was seamless ;)

I saw an interesting article on Velocity's blog this morning about installing multiple velocity instances on the same server. That way you don't necessarily have to use Virtual PCs.

I hope your project goes well.

Elijah Manor