Performance Numbers 3.0.5.1 (WCF)

Topics: Developer Forum, User Forum
Feb 27, 2009 at 3:26 PM
Edited Feb 27, 2009 at 7:29 PM
I ran a set of performance tests on the latest (unreleased) revision of SharedCache, which contains methods for using WCF. The performance numbers were quite promising for the new WCF methods. As you can see from the numbers below, the performance with larger object payloads has been significantly enhanced by this functionality.

Setup (LOCAL)
Machine: Core 2 duo Dell Latitude D620 4GB RAM .NET 3.5 SP1
Cache Setup: SharedCache (3.0.5.1 RELEASE mode compilation) local/non-clustered/Logging off
Payload: Complex Object List<Class>-->List<Class>-->List<Class>
Iterations: 100
Times: Average of iteration times; average of 5 runs of iterations (ms)


Run 1: Object size 32KB

Non-WCF:

Get:    5.01ms
Put:    4.8ms

WCF:

Get:    2.88ms
Put:    1.59ms


Run 2: Object size 750kb

Non-WCF:

Get:    140.87ms
Put:    137.16ms

WCF:

Get:    89.26ms
Put:    49.05ms



Setup (CLUSTER)


Machine: Core 2 duo Dell Latitude D620 4GB RAM .NET 3.5 SP1
Cache Setup: SharedCache (3.5.1 RELEASE mode compilation) clustered 2 node/replicated/logging off
Payload: Complex Object List<Class>-->List<Class>-->List<Class>
Iterations: 100
Times: Average of iteration times; average of 5 runs of iterations (ms)


Run 1: Object size 32KB

Non-WCF:

Get:    5.16ms
Put:    5.04ms

WCF:


Get:    3.76ms
Put:    2.16ms


Run 2: Object size 750kb

Non-WCF:

Get:    141.87ms
Put:    148.16ms

WCF:

Get:    91.27ms
Put:    58.64ms



NCache Express numbers for comparison:

Setup (LOCAL)
Machine: Core 2 duo Dell Latitude D620 4GB RAM .NET 3.5 SP1
Cache Setup: NCacheExpress 3.2.4.0 local/non-clustered/logging off
Payload: Complex Object List<Class>-->List<Class>-->List<Class>
Iterations: 100
Times: Average of iteration times; average of 5 runs of iterations (ms)

Run 1: object size 32KB

Get:    4.95ms
Put:    5.6ms


Run 2: Object size 750kb


Get:    136.52ms
Put:    132.65ms


Setup (CLUSTER)
Machine: Core 2 duo Dell Latitude D620 4GB RAM .NET 3.5 SP1
Cache Setup: NCacheExpress 3.2.4.0 clustered 2 node/replicated/logging off
Payload: Complex Object List<Class>-->List<Class>-->List<Class>
Iterations: 100
Times: Average of iteration times; average of 5 runs of iterations (ms)

Run 1: object size 32KB

Get:    4.92ms
Put:    11.42ms


Run 2: Object size 750kb

Get:    140.52ms
Put:    205.2ms

Feb 28, 2009 at 11:06 AM
Very nice.

@Roni: I think you should rename it from a 'WCF' feature to a 'DataContract' feature - because it is not really limited to WCF.
Feb 28, 2009 at 11:13 AM
I have taken above data and published it as a table structure over here: http://netrsc.blogspot.com/2009/02/comparsion-between-ncache-express.html

@Christian, i think you right with it. thanks
Mar 13, 2010 at 2:19 AM
Edited Mar 13, 2010 at 2:21 AM

Also, checkout the performance numbers of NCache at http://operationtimeout.wordpress.com/performance-benchmarks/