forked from gwhalin/Memcached-Java-Client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbenchmark.html
More file actions
155 lines (138 loc) · 3.81 KB
/
benchmark.html
File metadata and controls
155 lines (138 loc) · 3.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
author :dennis zhuang(killme2008@gmail.com)
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Performance Comparison between Java Memcached Client</title>
</head>
<body>
<h1>Performance Comparison between Java Memcached Client</h1>
<p style="text-align: justify;">There are several memcached clients
written in java programming language, including <a href="http://code.google.com/p/spymemcached">spymemcached</a>,
<a href="http://www.whalin.com/memcached/">Java-MemCached</a> , <a
href="http://code.google.com/p/xmemcached/">Xmemcached</a> and <a
href="http://code.google.com/p/memcache-client-forjava/">memcached-client-forjava(A
optimiezed Java-MemCached)</a> etc. <br />The performance numbers of the 4 open
source memcached clients and schooner memcached client are presented
here to help you make choice.</p>
<h2>Test Scenario</h2>
<p style="text-align: justify;">Single memcached server runs on a linux
machine.</p>
<p style="text-align: justify;">A java client connect to memcached
servers,then start numbers of threads to repeat themself to store and
retrive data from memcachd concurrently,write 50% and read 50%,with no
miss rate.</p>
<h2>Test Environment</h2>
<ul>
<li>Software
<ul>
<li>1 Memcached Servers
<ul>
<li>Version is 1.4.3, default install configuration.</li>
<li>Start with option "-p 12000 -m 2048"</li>
</ul>
</li>
<li>Java Client
<ul>
<li>JVM Version: Sun JDK 1.6.0_10 x86_64</li>
<li>Both memcached text protocol and binary protocol is
covered(if supported).
<li>Schoonermemcached 1.0.2, max connection number eq thread number. (binary/udp
protocol supported)</li>
<li>xmemcached 1.2.0 stable, connection pool size eq thread number. (binary protocol supported)</li>
<li>Spymemcached 2.5rc1,default configuration. (binary protocol
supported)</li>
<li>Whalin java client 2.0.1, max connection number eq thread number.</li>
<li>Asfmemcached 2.5.2, max connection number eq thread number.</li>
<li>JVM args: -server -Xmx1024m</li>
<li>Xmemcached and Spymemcached are asynchronized implementations.So they have to set
operation timeout,both are set to 3 seconds.</li>
</ul>
</li>
</ul>
</li>
<li>Hardware
<ul>
<li>Server
<ul>
<li>CPU: 8 x Intel(R) Xeon(R) CPU X5450 @ 3.00GHz</li>
<li>O/S: 2.6.28.9 x86_64 GNU/Linux (CentOS release 5.2)</li>
<li>RAM: 50 GiB</li>
<li>NIC: 10G QLogic network</li>
</ul>
</li>
<li>Client (Hostname: Serpent)
<ul>
<li>CPU: 8 x Intel(R) Xeon(R) CPU X5450 @ 3.00GHz</li>
<li>O/S: 2.6.26.5 x86_64 GNU/Linux (CentOS release 5.2)</li>
<li>RAM: 16 GiB</li>
<li>NIC: 10G QLogic network</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>Test Result</h2>
<h3>Client and Servers on Different Machines</h3>
<p>
<h3>Part1 Compare by threads number</h3>
<img src="images/ThreadNum_throughput_64_mix_string.jpg" />
<br>
<br>
<br>
<br>
<img src="images/ThreadNum_throughput_128_mix_string.jpg" />
<br>
<br>
<br>
<br>
<img src="images/ThreadNum_throughput_512_mix_string.jpg" />
<br>
<br>
<br>
<br>
<img src="images/ThreadNum_throughput_1024_mix_string.jpg" />
<br>
<
<br>
<br>
<br>
<img src="images/ThreadNum_throughput_10240_mix_string.jpg" />
<br>
<br>
<br>
<br>
<img src="images/ThreadNum_throughput_102400_mix_string.jpg" />
<br>
<br>
<br>
<br>
<br>
<p>
<h3>Part2 Compare by value size</h3>
<img src="images/DataSize_throughput_1_mix_string.jpg" />
<br>
<br>
<br>
<br>
<img src="images/DataSize_throughput_8_mix_string.jpg" />
<br>
<br>
<br>
<br>
<img src="images/DataSize_throughput_64_mix_string.jpg" />
<br>
<br>
<br>
<br>
<img src="images/DataSize_throughput_128_mix_string.jpg" />
<br>
<br>
<br>
<br>
</body>
</html>