Microsoft's data cache technology, code-named Velocity, speeds app performance

In-memory cache speeds data access for multiple application scenarios.

Microsoft is achieving impressive performance gains with "Velocity", the code name for a new Microsoft data caching technology currently in Community Technical Preview. Velocity is a distributed in-memory application cache technology that combines in-memory data caches across multiple servers, appearing as one large data cache to data hungry applications.

By accessing data in Velocity data caches, expensive hits to the SQL database are avoided and application data is delivered with much less latency. Server CPU and disk resource consumption are also lowered.

Grid Dynamics completed a benchmark study in September 2009 comparing three applications under multiple scenarios with and without Velocity. The results varied significantly depending on the size of the data objects stored in cache, but the overall results showed signficiant data access performance gains.

One of the tested applications, a blogging engine, achieved nearly a 15x improvement in throughput on a large 57GB dataset of 3.1 million, 16k data objects, 16GB of database cache and 27GB of Velocity cache. Response time growth with Velocity was much more linear as the number of requests per minute increase as compared to the same application without Velocity. Smaller 16k sized data objects presented one of the best case scenarios as smaller object means many more data objects are likely to be found in Velocity cache. The other two tested applications were an e-commerce application and a market-data application.

Velocity performs best where cache sizes across systems are consistent. The more homogenous the environment, the better Velocity improves data access response. Additional Velocity nodes can be added with minimal disruption to quickly increase the available cache across servers. Portions of the data cache can also be replicated on multiple caches to improve performance as well.

The benchmark reached several other conclusions. Velocity reduces CPU usage on both the server database layer and on the client application server. The client CPU reductions are because SQL query prep, execution and results parsing are no longer performed. Velocity's failover support did see significant drops in performance during transition periods but there was little performance difference with Velocity's high availability turned off or on.

While the Grid Dynamics' benchmark study was most likely commissioned by Microsoft, the methodology and testing results appear quite thorough and professionally done. The benchmark report includes detailed explanations of scenarios, queries and results found during testing.

Velocity is in Community Technical Preview 3, with CTP4 expected sometime in late 2009. The results look promising enough that Velocity could make its way into Microsoft products sometime in the future. Microsoft has pulled the plug on other technical previews, such as the Live Framework preview which left developers with only two weeks' notice the preview was canceled, leaving the future of Live Framework very unclear. The results Velocity is seeing gives it a better chance of surviving inside Microsoft.

Microsoft Velocity CTP3 is available for download and the benchmark study can be found on the Velocity Team blog.

Like this? Here are some of Mitchell's recent posts.

Recent Podcasts:

Mitchell's book recommendations: Also visit Mitchell's other blogs and podcasts:

Visit Microsoft Subnet for more news, blogs, opinion from around the Web. Sign up for the bi-weekly Microsoft newsletter. (Click on News/Microsoft News Alert.)

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.

Copyright © 2009 IDG Communications, Inc.