Performance!
In my MIX talk I told that for 2k reads, we take 3ms. It is actually the case under load where the servers are straining. Here is a latest performance shot that we got with the CTP3 bits.
Bulk APIs: Note that these numbers are without any bulk operations. With bulk gets (we are trying to add a Bulk Get in RTM timeframe within a region) we get upwards of 211,000 operations per second. (assuming a 32 key per batch).
Local Cache: None of these tests use Local Cache = true. That will again give upwards of 200K operations per second.
[Statutory Warning: These are the numbers that we got in our test labs to give you an idea of the performance characteristics of this product. There is no implicit warranty or guarantee on these numbers!]
Servers : 2
Server Configuration :
Processor : AMD Phenom (9600 B) Quad Core Processor
RAM size : 8 GB RAM
Operating System : 64 bit win 2k3
Network : 1GBPS network
Secondary : 0
Client configuration : Routing with NO local cache.
No of Agents : 10
Throughput :
Scenario |
object |
Number of Clients |
RC4(Ops/sec) |
CTP2(Ops/sec) |
Mainly Gets |
Byte[] (2kb) |
100 |
34500 |
36300 |
Mainly Gets |
Byte[](2kb to 16kb) |
150 |
27000 |
27300 |
Put |
Char[](2kb) |
200 |
9170 |
6060 |
Put-Get |
String[](1kb) |
200 |
11500 |
8000 |
Put-Get-Remove |
Byte[](4kb) wrapped in object |
100 |
30300 |
29880 |
Latency :
Operation(byte array) |
Object |
RC4(In ms) |
CTP2(in ms) |
|
Add |
Char [](2kb) |
1.35 |
1.59 |
|
Put |
Byte [](2kb) |
0.63 |
0.55 |
|
Get |
Byte [](2kb) |
0.50 |
0.51 |
|
Remove |
Byte [](2kb) |
0.49 |
0.44 |
Servers : 2
Server Configuration :
Processor : AMD Phenom (9600 B) Quad Core Processor
RAM size : 8 GB RAM
Operating System : 64 bit win 2k3
Network : 1GBPS network
Trending with and without secondary throughput on RC4:
Scenario |
Object |
with secondary |
without secondary |
Put-Get(2k) |
String[](1k) |
4300 |
11500 |
Put-Get-Remove(2k) |
Byte[](4kb) wrapped in object |
8280 |
30300 |
--
Murali
Comments
Anonymous
April 01, 2009
PingBack from http://www.anith.com/?p=25476Anonymous
June 22, 2009
One question that I have is if increasing the amount of RAM has significant impact on latency or the ability to service more clients. It would be very interesting to see the breaking on how CPU speed/cores and RAM amount/bandwidth/channels factor into the performance of Velocity. Basically, if I'm putting together servers for Velocity, where do I spend my money - core, GHz, or RAM? Thanks, Erick