Monday, February 11, 2008

Shared Cache - compare results between version 1.0.2.134 and 2.0.0.140 and upper

As already mention in some previous posts in my Blog I have re-written the whole client / server logic which runs under the hood. Checkout the following post for more information: http://netrsc.blogspot.com/2008/02/threaded-asynchronous-tcp-server-with.html

The client application which is delivered with indeXus.Net Shared Cache contains some Speed test options were I'm able to compare between them now. All in all i have to mention the server is getting quite faster then it was before and for sure more robust. Never thought such a async approach would make that much difference. All in all there are some key changes:
  • Server is running as async TCP Server with a custom Threadpool
  • Network traffic decreased dramatically between, especially upon server echos
  • We take now full advantage of object pooling, so each action from the client in the test application gone use only 1 single "new Socket()" instead of several thousands.
People who have not seen the menu here is a stripdown of the different options.

Speed Tests [200 / 300 range]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
200 - Add 10 objects with the size approx. of 1kb.
210 - Add 100 objects with the size approx. of 1kb.
220 - Add 1000 objects with the size approx. of 1kb.
230 - Add 10000 objects with the size approx. of 1kb.
240 - Add 10 objects with the size approx. of 100kb.
250 - Add 100 objects with the size approx. of 100kb.
260 - Add 1000 objects with the size approx. of 100kb.
270 - Add 10000 objects with the size approx. of 100kb.
280 - Add 10 objects with the size approx. of 1MB.
290 - Add 100 objects with the size approx. of 1MB.
300 - Add 1000 objects with the size approx. of 1MB.
310 - Add 1500 objects with the size approx. of 1MB.
Just different options which makes it easy to compare with different approaches.
Below we see a table were in almoast every case we could increase the performance. Why we have the 3 marked Get operations which are slower I haven't figured out yet but I promiss I will do so. In generall we can say we have a performance increasment and system & network resource decreasment. With the upcoming version I have implemented some performance counters which will make life easier to compare results between installations.

As we can see we have for the case 100 client calls with 1 kb only better results then before.

As bigger the message (payload) which has to be transferred to the server, as better the results are getting. I was wondering if I have done a calculation mistake but I re-run the whole test 3 times.
It would be very intersting if people would post theire results to compare.

No comments:

Shared Cache - .Net Caching made easy

All information about Shared Cache is available here: http://www.sharedcache.com/. Its free and easy to use, we provide all sources at codeplex.

Facebook Badge