vinted-memcached 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/BENCHMARKS +142 -0
- data/CHANGELOG +176 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +45 -0
- data/LICENSE +184 -0
- data/Manifest +209 -0
- data/README.rdoc +124 -0
- data/Rakefile +134 -0
- data/TODO +1 -0
- data/ext/extconf-make.rb +25 -0
- data/ext/extconf.rb +78 -0
- data/ext/libmemcached-0.32/AUTHORS +7 -0
- data/ext/libmemcached-0.32/COPYING +32 -0
- data/ext/libmemcached-0.32/ChangeLog +303 -0
- data/ext/libmemcached-0.32/INSTALL +302 -0
- data/ext/libmemcached-0.32/Makefile.am +36 -0
- data/ext/libmemcached-0.32/Makefile.in +911 -0
- data/ext/libmemcached-0.32/NEWS +1 -0
- data/ext/libmemcached-0.32/README +33 -0
- data/ext/libmemcached-0.32/THANKS +14 -0
- data/ext/libmemcached-0.32/TODO +11 -0
- data/ext/libmemcached-0.32/aclocal.m4 +2108 -0
- data/ext/libmemcached-0.32/clients/Makefile.am +80 -0
- data/ext/libmemcached-0.32/clients/Makefile.in +773 -0
- data/ext/libmemcached-0.32/clients/client_options.h +32 -0
- data/ext/libmemcached-0.32/clients/execute.c +64 -0
- data/ext/libmemcached-0.32/clients/execute.h +5 -0
- data/ext/libmemcached-0.32/clients/generator.c +74 -0
- data/ext/libmemcached-0.32/clients/generator.h +20 -0
- data/ext/libmemcached-0.32/clients/memcat.c +178 -0
- data/ext/libmemcached-0.32/clients/memcp.c +251 -0
- data/ext/libmemcached-0.32/clients/memdump.c +170 -0
- data/ext/libmemcached-0.32/clients/memerror.c +80 -0
- data/ext/libmemcached-0.32/clients/memflush.c +143 -0
- data/ext/libmemcached-0.32/clients/memrm.c +160 -0
- data/ext/libmemcached-0.32/clients/memslap.c +441 -0
- data/ext/libmemcached-0.32/clients/memstat.c +326 -0
- data/ext/libmemcached-0.32/clients/utilities.c +207 -0
- data/ext/libmemcached-0.32/clients/utilities.h +41 -0
- data/ext/libmemcached-0.32/config/compile +143 -0
- data/ext/libmemcached-0.32/config/config.guess +1561 -0
- data/ext/libmemcached-0.32/config/config.rpath +666 -0
- data/ext/libmemcached-0.32/config/config.sub +1686 -0
- data/ext/libmemcached-0.32/config/depcomp +630 -0
- data/ext/libmemcached-0.32/config/install-sh +520 -0
- data/ext/libmemcached-0.32/config/ltmain.sh +9636 -0
- data/ext/libmemcached-0.32/config/missing +376 -0
- data/ext/libmemcached-0.32/config.h.in +254 -0
- data/ext/libmemcached-0.32/configure +23843 -0
- data/ext/libmemcached-0.32/configure.ac +120 -0
- data/ext/libmemcached-0.32/libmemcached/Makefile.am +111 -0
- data/ext/libmemcached-0.32/libmemcached/Makefile.in +1069 -0
- data/ext/libmemcached-0.32/libmemcached/byteorder.c +31 -0
- data/ext/libmemcached-0.32/libmemcached/common.h +189 -0
- data/ext/libmemcached-0.32/libmemcached/crc.c +86 -0
- data/ext/libmemcached-0.32/libmemcached/hsieh_hash.c +68 -0
- data/ext/libmemcached-0.32/libmemcached/jenkins_hash.c +213 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached.ver +1 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.d +30 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.h +82 -0
- data/ext/libmemcached-0.32/libmemcached/md5.c +354 -0
- data/ext/libmemcached-0.32/libmemcached/memcached/README.txt +7 -0
- data/ext/libmemcached-0.32/libmemcached/memcached/protocol_binary.h +385 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.c +153 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.h +305 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.hpp +799 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_allocators.c +72 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_analyze.c +100 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_auto.c +207 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_behavior.c +290 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_callback.c +175 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_configure.h.in +23 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_connect.c +371 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_constants.h +146 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_delete.c +0 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_do.c +72 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_dump.c +79 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_exist.c +114 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_exist.h +20 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_fetch.c +102 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_flush.c +89 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_flush_buffers.c +23 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_get.c +494 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_get.h +87 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_hash.c +252 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_hosts.c +510 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_internal.h +31 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_io.c +594 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_io.h +72 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_key.c +28 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_parse.c +74 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_pool.h +38 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_purge.c +76 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_quit.c +75 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_response.c +529 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_result.c +57 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_result.h +59 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_sasl.c +225 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_sasl.h +44 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_server.c +159 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_server.h +93 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_stats.c +437 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_storage.c +514 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_storage.h +107 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_strerror.c +92 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_string.c +138 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_string.h +53 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_touch.c +60 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_touch.h +31 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_types.h +44 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_util.h +15 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_verbosity.c +36 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_version.c +112 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_watchpoint.h +38 -0
- data/ext/libmemcached-0.32/libmemcached/murmur_hash.c +76 -0
- data/ext/libmemcached-0.32/libmemcached/visibility.h +51 -0
- data/ext/libmemcached-0.32/libmemcachedutil/Makefile.am +11 -0
- data/ext/libmemcached-0.32/libmemcachedutil/Makefile.in +604 -0
- data/ext/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver +1 -0
- data/ext/libmemcached-0.32/libmemcachedutil/memcached_pool.c +170 -0
- data/ext/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4 +103 -0
- data/ext/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4 +67 -0
- data/ext/libmemcached-0.32/m4/acx_pthread.m4 +276 -0
- data/ext/libmemcached-0.32/m4/byteorder.m4 +40 -0
- data/ext/libmemcached-0.32/m4/deprecated.m4 +17 -0
- data/ext/libmemcached-0.32/m4/enable_utillib.m4 +16 -0
- data/ext/libmemcached-0.32/m4/extensions.m4 +94 -0
- data/ext/libmemcached-0.32/m4/hsieh.m4 +18 -0
- data/ext/libmemcached-0.32/m4/lib-prefix.m4 +221 -0
- data/ext/libmemcached-0.32/m4/libtool.m4 +7831 -0
- data/ext/libmemcached-0.32/m4/ltoptions.m4 +369 -0
- data/ext/libmemcached-0.32/m4/ltsugar.m4 +123 -0
- data/ext/libmemcached-0.32/m4/ltversion.m4 +23 -0
- data/ext/libmemcached-0.32/m4/lt~obsolete.m4 +98 -0
- data/ext/libmemcached-0.32/m4/memcached.m4 +30 -0
- data/ext/libmemcached-0.32/m4/pandora_64bit.m4 +55 -0
- data/ext/libmemcached-0.32/m4/pandora_canonical.m4 +151 -0
- data/ext/libmemcached-0.32/m4/pandora_check_compiler_version.m4 +37 -0
- data/ext/libmemcached-0.32/m4/pandora_check_cxx_standard.m4 +16 -0
- data/ext/libmemcached-0.32/m4/pandora_enable_dtrace.m4 +41 -0
- data/ext/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4 +36 -0
- data/ext/libmemcached-0.32/m4/pandora_have_better_malloc.m4 +54 -0
- data/ext/libmemcached-0.32/m4/pandora_have_sasl.m4 +133 -0
- data/ext/libmemcached-0.32/m4/pandora_header_assert.m4 +23 -0
- data/ext/libmemcached-0.32/m4/pandora_libtool.m4 +15 -0
- data/ext/libmemcached-0.32/m4/pandora_optimize.m4 +79 -0
- data/ext/libmemcached-0.32/m4/pandora_shared_ptr.m4 +56 -0
- data/ext/libmemcached-0.32/m4/pandora_vc_build.m4 +32 -0
- data/ext/libmemcached-0.32/m4/pandora_warnings.m4 +262 -0
- data/ext/libmemcached-0.32/m4/pod2man.m4 +7 -0
- data/ext/libmemcached-0.32/m4/protocol_binary.m4 +23 -0
- data/ext/libmemcached-0.32/m4/setsockopt.m4 +57 -0
- data/ext/libmemcached-0.32/m4/visibility.m4 +52 -0
- data/ext/libmemcached-0.32/support/Makefile.am +4 -0
- data/ext/libmemcached-0.32/support/Makefile.in +487 -0
- data/ext/libmemcached-0.32/support/libmemcached-fc.spec.in +105 -0
- data/ext/libmemcached-0.32/support/libmemcached.pc.in +10 -0
- data/ext/libmemcached-0.32/support/libmemcached.spec +105 -0
- data/ext/libmemcached-0.32/support/libmemcached.spec.in +105 -0
- data/ext/libmemcached-0.32/support/set_benchmark.sh +5 -0
- data/ext/libmemcached-0.32/tests/Makefile.am +113 -0
- data/ext/libmemcached-0.32/tests/Makefile.in +762 -0
- data/ext/libmemcached-0.32/tests/atomsmasher.c +245 -0
- data/ext/libmemcached-0.32/tests/function.c +4904 -0
- data/ext/libmemcached-0.32/tests/ketama_test_cases.h +108 -0
- data/ext/libmemcached-0.32/tests/output.cmp +7 -0
- data/ext/libmemcached-0.32/tests/output.res +7 -0
- data/ext/libmemcached-0.32/tests/output2.res +46 -0
- data/ext/libmemcached-0.32/tests/plus.cpp +293 -0
- data/ext/libmemcached-0.32/tests/r/memcat.res +19 -0
- data/ext/libmemcached-0.32/tests/r/memcp.res +27 -0
- data/ext/libmemcached-0.32/tests/r/memrm.res +19 -0
- data/ext/libmemcached-0.32/tests/r/memslap.res +33 -0
- data/ext/libmemcached-0.32/tests/r/memstat.res +33 -0
- data/ext/libmemcached-0.32/tests/server.c +118 -0
- data/ext/libmemcached-0.32/tests/server.h +25 -0
- data/ext/libmemcached-0.32/tests/start.c +16 -0
- data/ext/libmemcached-0.32/tests/t/memcat.test +4 -0
- data/ext/libmemcached-0.32/tests/t/memcp.test +3 -0
- data/ext/libmemcached-0.32/tests/t/memrm.test +3 -0
- data/ext/libmemcached-0.32/tests/t/memslap.test +5 -0
- data/ext/libmemcached-0.32/tests/t/memstat.test +3 -0
- data/ext/libmemcached-0.32/tests/test.c +137 -0
- data/ext/libmemcached-0.32/tests/test.h +46 -0
- data/ext/libmemcached-0.32/tests/udp.c +76 -0
- data/ext/rlibmemcached.i +258 -0
- data/ext/rlibmemcached_wrap.c +13917 -0
- data/lib/memcached/auth.rb +16 -0
- data/lib/memcached/behaviors.rb +78 -0
- data/lib/memcached/exceptions.rb +84 -0
- data/lib/memcached/experimental.rb +48 -0
- data/lib/memcached/marshal_codec.rb +10 -0
- data/lib/memcached/memcached.rb +732 -0
- data/lib/memcached/rails.rb +250 -0
- data/lib/memcached.rb +33 -0
- data/memcached.gemspec +0 -0
- data/test/profile/benchmark.rb +280 -0
- data/test/profile/c_profiler.rb +14 -0
- data/test/profile/exercise.rb +185 -0
- data/test/profile/rb_profiler.rb +21 -0
- data/test/profile/valgrind.rb +10 -0
- data/test/setup.rb +30 -0
- data/test/teardown.rb +0 -0
- data/test/test_helper.rb +18 -0
- data/test/unit/binding_test.rb +8 -0
- data/test/unit/memcached_experimental_test.rb +272 -0
- data/test/unit/memcached_test.rb +1487 -0
- data/test/unit/rails_test.rb +330 -0
- metadata +336 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
typedef struct {
|
|
2
|
+
const char *key;
|
|
3
|
+
unsigned long hash1;
|
|
4
|
+
unsigned long hash2;
|
|
5
|
+
const char *server;
|
|
6
|
+
} TestCase;
|
|
7
|
+
|
|
8
|
+
static TestCase test_cases[99] = {
|
|
9
|
+
{ "SVa_]_V41)", 443691461UL, 445379617UL, "10.0.1.7" },
|
|
10
|
+
{ "*/Z;?V(.\\8", 1422915503UL, 1428303028UL, "10.0.1.1" },
|
|
11
|
+
{ "30C1*Z*S/_", 1473165754UL, 1480075959UL, "10.0.1.2" },
|
|
12
|
+
{ "ERR:EC58G>", 2148406511UL, 2168579133UL, "10.0.1.7" },
|
|
13
|
+
{ "1I=cTMNTKF", 2882686667UL, 2885206587UL, "10.0.1.5" },
|
|
14
|
+
{ "]VG<`I*Z8)", 1103544263UL, 1104827657UL, "10.0.1.5" },
|
|
15
|
+
{ "UUTC`-V159", 3716288206UL, 3727224240UL, "10.0.1.5" },
|
|
16
|
+
{ "@7RU6C6T+Z", 3862737685UL, 3871917949UL, "10.0.1.5" },
|
|
17
|
+
{ "/XLN0@+36;", 1623269830UL, 1627683651UL, "10.0.1.1" },
|
|
18
|
+
{ "4(`X;\\V.^c", 373546328UL, 383925769UL, "10.0.1.1" },
|
|
19
|
+
{ "726bW=9*a4", 4213440020UL, 4213950705UL, "10.0.1.7" },
|
|
20
|
+
{ "\\`)<B)UE,c", 951096736UL, 955226069UL, "10.0.1.1" },
|
|
21
|
+
{ "P1[Ma3=K1/", 1989324036UL, 1994028240UL, "10.0.1.8" },
|
|
22
|
+
{ "C89I.-V?cT", 1604239957UL, 1606398093UL, "10.0.1.8" },
|
|
23
|
+
{ "D[HE+cFXDK", 2117036136UL, 2117124014UL, "10.0.1.3" },
|
|
24
|
+
{ "P1L?NAB[)K", 2129972569UL, 2132542634UL, "10.0.1.1" },
|
|
25
|
+
{ "cDT0)Z5P6,", 176485284UL, 178675413UL, "10.0.1.5" },
|
|
26
|
+
{ "@JW`+[WAO8", 2720940826UL, 2743975456UL, "10.0.1.5" },
|
|
27
|
+
{ "\\39DKW^)N_", 3548879868UL, 3550704865UL, "10.0.1.3" },
|
|
28
|
+
{ "EM75N0+[X1", 1558531507UL, 1559308507UL, "10.0.1.4" },
|
|
29
|
+
{ "`,SS]NBP,b", 1883545960UL, 1884847278UL, "10.0.1.1" },
|
|
30
|
+
{ "XX1a9LT+F?", 653487707UL, 656410408UL, "10.0.1.5" },
|
|
31
|
+
{ "Zc\\-,F-c6V", 1160802451UL, 1171575728UL, "10.0.1.5" },
|
|
32
|
+
{ "1*RTMC7,03", 1602398012UL, 1606398093UL, "10.0.1.8" },
|
|
33
|
+
{ "*Xc+V0P>32", 536016577UL, 539988520UL, "10.0.1.7" },
|
|
34
|
+
{ "U))Fb-(`,.", 4128682289UL, 4136854163UL, "10.0.1.7" },
|
|
35
|
+
{ "R-08RNTaRT", 3718170086UL, 3727224240UL, "10.0.1.5" },
|
|
36
|
+
{ "(LHcO203I3", 1007779411UL, 1014643570UL, "10.0.1.5" },
|
|
37
|
+
{ "=256P+;Qc8", 3976201210UL, 3976304873UL, "10.0.1.5" },
|
|
38
|
+
{ "OI5XZ_BBT(", 2155922164UL, 2168579133UL, "10.0.1.7" },
|
|
39
|
+
{ "2TLRL/UL;:", 1086800909UL, 1095659802UL, "10.0.1.7" },
|
|
40
|
+
{ "WHD\\O1`ZRW", 3087923411UL, 3095471560UL, "10.0.1.5" },
|
|
41
|
+
{ ".=54)_c;=T", 2497691631UL, 2502731301UL, "10.0.1.1" },
|
|
42
|
+
{ ";G<W-XWZ@b", 2888169733UL, 2888728739UL, "10.0.1.5" },
|
|
43
|
+
{ "(,>E`)FT\\4", 580747448UL, 581063326UL, "10.0.1.2" },
|
|
44
|
+
{ "HZAU*;P*N]", 2564670474UL, 2565697267UL, "10.0.1.7" },
|
|
45
|
+
{ "NZ@ZE=O84_", 533335275UL, 539988520UL, "10.0.1.7" },
|
|
46
|
+
{ "6,cEI`F_P>", 3972869246UL, 3974773167UL, "10.0.1.6" },
|
|
47
|
+
{ "c,5AQ/T5)6", 2835605783UL, 2847870057UL, "10.0.1.8" },
|
|
48
|
+
{ ".O,>>BT)RX", 3857978174UL, 3871917949UL, "10.0.1.5" },
|
|
49
|
+
{ "XY\\X::LX50", 1749241099UL, 1752196488UL, "10.0.1.6" },
|
|
50
|
+
{ "+550F^/.01", 3781824099UL, 3783248219UL, "10.0.1.6" },
|
|
51
|
+
{ "<.X9E2S5+9", 3232479481UL, 3234387706UL, "10.0.1.7" },
|
|
52
|
+
{ "]\\.UH8_0a1", 2419699252UL, 2423002920UL, "10.0.1.4" },
|
|
53
|
+
{ "8(6=(T0/Z0", 728266737UL, 729026070UL, "10.0.1.7" },
|
|
54
|
+
{ "8*6a;Sc*X+", 4223431086UL, 4230156966UL, "10.0.1.2" },
|
|
55
|
+
{ "<QW:;3K6;H", 2731158143UL, 2743975456UL, "10.0.1.5" },
|
|
56
|
+
{ "7C@EY@-Y?_", 760770733UL, 761576669UL, "10.0.1.5" },
|
|
57
|
+
{ "aPb3E1WD4K", 2500489218UL, 2502731301UL, "10.0.1.1" },
|
|
58
|
+
{ "?@12R<=1BH", 1494795329UL, 1502505505UL, "10.0.1.8" },
|
|
59
|
+
{ "QR(a+Q=1FU", 3238535074UL, 3238996435UL, "10.0.1.6" },
|
|
60
|
+
{ "`C9^FV,960", 2628553463UL, 2628733766UL, "10.0.1.6" },
|
|
61
|
+
{ "UNHVP..^8H", 977096483UL, 977319837UL, "10.0.1.4" },
|
|
62
|
+
{ ":Y.2W2[(35", 2777083668UL, 2784182515UL, "10.0.1.7" },
|
|
63
|
+
{ "M/HV^_HZ4O", 3623390946UL, 3624445007UL, "10.0.1.7" },
|
|
64
|
+
{ "ZY16KQ<ICD", 1831153193UL, 1838563516UL, "10.0.1.4" },
|
|
65
|
+
{ "bV2,`a.PY9", 1962228869UL, 1962648654UL, "10.0.1.1" },
|
|
66
|
+
{ "U;9:-+5N]9", 269504649UL, 277560877UL, "10.0.1.1" },
|
|
67
|
+
{ "1S/:aJ[1(;", 578069729UL, 581063326UL, "10.0.1.2" },
|
|
68
|
+
{ "Nb-X^]M)I:", 330865696UL, 331009896UL, "10.0.1.6" },
|
|
69
|
+
{ "2;M;ES>J5/", 2776949824UL, 2784182515UL, "10.0.1.7" },
|
|
70
|
+
{ "[>RZHG97Q9", 71954686UL, 72034069UL, "10.0.1.6" },
|
|
71
|
+
{ "J3/G[)9<^Z", 2799896459UL, 2805183696UL, "10.0.1.7" },
|
|
72
|
+
{ "N-)88>[O`,", 50404102UL, 51792557UL, "10.0.1.5" },
|
|
73
|
+
{ "NP:=FR\\OaA", 3837333776UL, 3837792034UL, "10.0.1.7" },
|
|
74
|
+
{ "`@L+W;a,O[", 1512157148UL, 1522285852UL, "10.0.1.6" },
|
|
75
|
+
{ "W2`P:-+1T[", 2945171975UL, 2946196424UL, "10.0.1.5" },
|
|
76
|
+
{ "-6G7K^YDIN", 3168617340UL, 3170513015UL, "10.0.1.7" },
|
|
77
|
+
{ "U>*>9ZI6V5", 668514946UL, 674097631UL, "10.0.1.6" },
|
|
78
|
+
{ ".I?^6Ic9RK", 938419020UL, 942832691UL, "10.0.1.6" },
|
|
79
|
+
{ "0OZH^9BKM[", 3682518606UL, 3686781297UL, "10.0.1.8" },
|
|
80
|
+
{ "5?50UGZ:ML", 868610882UL, 869425986UL, "10.0.1.5" },
|
|
81
|
+
{ "?K2NF@3=IU", 381218851UL, 383925769UL, "10.0.1.1" },
|
|
82
|
+
{ "YI@G-2X?UB", 3688706179UL, 3693197681UL, "10.0.1.5" },
|
|
83
|
+
{ "7cY</BSaL=", 3976870223UL, 3978903843UL, "10.0.1.6" },
|
|
84
|
+
{ "A(`KF:[RH8", 3292979676UL, 3294849139UL, "10.0.1.6" },
|
|
85
|
+
{ ";=ZT\\W^P+H", 1401102653UL, 1416290674UL, "10.0.1.4" },
|
|
86
|
+
{ "b2?WFF56;R", 480494704UL, 486971192UL, "10.0.1.4" },
|
|
87
|
+
{ "CTR74,J+N.", 137446045UL, 146633907UL, "10.0.1.8" },
|
|
88
|
+
{ "<b;*R+QDST", 1304985302UL, 1308223778UL, "10.0.1.5" },
|
|
89
|
+
{ "\\R^7=9UCG`", 126218373UL, 129199837UL, "10.0.1.5" },
|
|
90
|
+
{ "1bQS5]WOXB", 1853470245UL, 1855329369UL, "10.0.1.4" },
|
|
91
|
+
{ "M(@X^b[L:K", 3019630308UL, 3022260113UL, "10.0.1.1" },
|
|
92
|
+
{ "431cBF8,YO", 1679726993UL, 1685224295UL, "10.0.1.7" },
|
|
93
|
+
{ "(bEIQJ:E./", 2922607787UL, 2925521819UL, "10.0.1.6" },
|
|
94
|
+
{ "WS/3H*)7F;", 419488232UL, 422140585UL, "10.0.1.5" },
|
|
95
|
+
{ "ZJF[Ia6Q)+", 3960568056UL, 3962489998UL, "10.0.1.7" },
|
|
96
|
+
{ "<]*QCK8U,>", 2590140172UL, 2598117636UL, "10.0.1.7" },
|
|
97
|
+
{ "\\[a\\^=V_M0", 689410119UL, 698690782UL, "10.0.1.6" },
|
|
98
|
+
{ "7;RM+8J9YC", 1530175299UL, 1531107082UL, "10.0.1.7" },
|
|
99
|
+
{ "4*=.SPR[AV", 3928582722UL, 3928853792UL, "10.0.1.1" },
|
|
100
|
+
{ "-2F+^88P4U", 3023552752UL, 3025823613UL, "10.0.1.7" },
|
|
101
|
+
{ "X;-F`(N?9D", 570465234UL, 572485994UL, "10.0.1.7" },
|
|
102
|
+
{ "R=F_D-K2a]", 1287750228UL, 1290935562UL, "10.0.1.7" },
|
|
103
|
+
{ "X*+2aaC.EG", 3200948713UL, 3201088518UL, "10.0.1.5" },
|
|
104
|
+
{ "[1ZXONX2]a", 4108881567UL, 4109865744UL, "10.0.1.4" },
|
|
105
|
+
{ "FL;\\GWacaV", 458449508UL, 467374054UL, "10.0.1.4" },
|
|
106
|
+
{ "\\MQ_XNT7L-", 1259349383UL, 1259509450UL, "10.0.1.7" },
|
|
107
|
+
{ "VD6D0]ba_\\", 3842502950UL, 3842588691UL, "10.0.1.1" },
|
|
108
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Error 0 -> SUCCESS
|
|
2
|
+
Error 1 -> FAILURE
|
|
3
|
+
Error 2 -> HOSTNAME LOOKUP FAILURE
|
|
4
|
+
Error 3 -> CONNECTION FAILURE
|
|
5
|
+
Error 4 -> CONNECTION BIND FAILURE
|
|
6
|
+
Error 5 -> WRITE FAILURE
|
|
7
|
+
Error 6 -> READ FAILURE
|
|
8
|
+
Error 7 -> UNKNOWN READ FAILURE
|
|
9
|
+
Error 8 -> PROTOCOL ERROR
|
|
10
|
+
Error 9 -> CLIENT ERROR
|
|
11
|
+
Error 10 -> SERVER ERROR
|
|
12
|
+
Error 11 -> CONNECTION SOCKET CREATE FAILURE
|
|
13
|
+
Error 12 -> CONNECTION DATA EXISTS
|
|
14
|
+
Error 13 -> CONNECTION DATA DOES NOT EXIST
|
|
15
|
+
Error 14 -> NOT STORED
|
|
16
|
+
Error 15 -> NOT FOUND
|
|
17
|
+
Error 16 -> MEMORY ALLOCATION FAILURE
|
|
18
|
+
Error 17 -> PARTIAL READ
|
|
19
|
+
Error 18 -> SOME ERRORS WERE REPORTED
|
|
20
|
+
Error 19 -> NO SERVERS DEFINED
|
|
21
|
+
Found key pid
|
|
22
|
+
Found key uptime
|
|
23
|
+
Found key time
|
|
24
|
+
Found key version
|
|
25
|
+
Found key pointer_size
|
|
26
|
+
Found key rusage_user
|
|
27
|
+
Found key rusage_system
|
|
28
|
+
Found key rusage_user_seconds
|
|
29
|
+
Found key rusage_user_microseconds
|
|
30
|
+
Found key rusage_system_seconds
|
|
31
|
+
Found key rusage_system_microseconds
|
|
32
|
+
Found key curr_items
|
|
33
|
+
Found key total_items
|
|
34
|
+
Found key bytes
|
|
35
|
+
Found key curr_connections
|
|
36
|
+
Found key total_connections
|
|
37
|
+
Found key connection_structures
|
|
38
|
+
Found key cmd_get
|
|
39
|
+
Found key cmd_set
|
|
40
|
+
Found key get_hits
|
|
41
|
+
Found key get_misses
|
|
42
|
+
Found key evictions
|
|
43
|
+
Found key bytes_read
|
|
44
|
+
Found key bytes_written
|
|
45
|
+
Found key limit_maxbytes
|
|
46
|
+
Found key threads
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/*
|
|
2
|
+
C++ interface test
|
|
3
|
+
*/
|
|
4
|
+
#include "libmemcached/memcached.hpp"
|
|
5
|
+
|
|
6
|
+
#include <assert.h>
|
|
7
|
+
#include <stdio.h>
|
|
8
|
+
#include <stdlib.h>
|
|
9
|
+
#include <string.h>
|
|
10
|
+
#include <sys/time.h>
|
|
11
|
+
#include <sys/types.h>
|
|
12
|
+
#include <sys/stat.h>
|
|
13
|
+
#include <unistd.h>
|
|
14
|
+
#include <time.h>
|
|
15
|
+
#include "server.h"
|
|
16
|
+
|
|
17
|
+
#include "test.h"
|
|
18
|
+
|
|
19
|
+
#include <string>
|
|
20
|
+
|
|
21
|
+
using namespace std;
|
|
22
|
+
using namespace memcache;
|
|
23
|
+
|
|
24
|
+
extern "C" {
|
|
25
|
+
test_return basic_test(memcached_st *memc);
|
|
26
|
+
test_return increment_test(memcached_st *memc);
|
|
27
|
+
test_return basic_master_key_test(memcached_st *memc);
|
|
28
|
+
test_return mget_result_function(memcached_st *memc);
|
|
29
|
+
test_return mget_test(memcached_st *memc);
|
|
30
|
+
memcached_return callback_counter(memcached_st *,
|
|
31
|
+
memcached_result_st *,
|
|
32
|
+
void *context);
|
|
33
|
+
void *world_create(void);
|
|
34
|
+
void world_destroy(void *p);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
static void populate_vector(vector<char> &vec, const string &str)
|
|
38
|
+
{
|
|
39
|
+
vec.reserve(str.length());
|
|
40
|
+
vec.assign(str.begin(), str.end());
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static void copy_vec_to_string(vector<char> &vec, string &str)
|
|
44
|
+
{
|
|
45
|
+
str.clear();
|
|
46
|
+
if (! vec.empty())
|
|
47
|
+
{
|
|
48
|
+
str.assign(vec.begin(), vec.end());
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
test_return basic_test(memcached_st *memc)
|
|
53
|
+
{
|
|
54
|
+
Memcache foo(memc);
|
|
55
|
+
const string value_set("This is some data");
|
|
56
|
+
std::vector<char> value;
|
|
57
|
+
std::vector<char> test_value;
|
|
58
|
+
|
|
59
|
+
populate_vector(value, value_set);
|
|
60
|
+
|
|
61
|
+
foo.set("mine", value, 0, 0);
|
|
62
|
+
foo.get("mine", test_value);
|
|
63
|
+
|
|
64
|
+
assert((memcmp(&test_value[0], &value[0], test_value.size()) == 0));
|
|
65
|
+
|
|
66
|
+
return TEST_SUCCESS;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
test_return increment_test(memcached_st *memc)
|
|
70
|
+
{
|
|
71
|
+
Memcache mcach(memc);
|
|
72
|
+
bool rc;
|
|
73
|
+
const string key("blah");
|
|
74
|
+
const string inc_value("1");
|
|
75
|
+
std::vector<char> inc_val;
|
|
76
|
+
vector<char> ret_value;
|
|
77
|
+
string ret_string;
|
|
78
|
+
uint64_t int_inc_value;
|
|
79
|
+
uint64_t int_ret_value;
|
|
80
|
+
|
|
81
|
+
populate_vector(inc_val, inc_value);
|
|
82
|
+
|
|
83
|
+
rc= mcach.set(key, inc_val, 0, 0);
|
|
84
|
+
if (rc == false)
|
|
85
|
+
{
|
|
86
|
+
return TEST_FAILURE;
|
|
87
|
+
}
|
|
88
|
+
mcach.get(key, ret_value);
|
|
89
|
+
if (ret_value.empty())
|
|
90
|
+
{
|
|
91
|
+
return TEST_FAILURE;
|
|
92
|
+
}
|
|
93
|
+
copy_vec_to_string(ret_value, ret_string);
|
|
94
|
+
|
|
95
|
+
int_inc_value= uint64_t(atol(inc_value.c_str()));
|
|
96
|
+
int_ret_value= uint64_t(atol(ret_string.c_str()));
|
|
97
|
+
assert(int_ret_value == int_inc_value);
|
|
98
|
+
|
|
99
|
+
rc= mcach.increment(key, 1, &int_ret_value);
|
|
100
|
+
assert(rc == true);
|
|
101
|
+
assert(int_ret_value == 2);
|
|
102
|
+
|
|
103
|
+
rc= mcach.increment(key, 1, &int_ret_value);
|
|
104
|
+
assert(rc == true);
|
|
105
|
+
assert(int_ret_value == 3);
|
|
106
|
+
|
|
107
|
+
rc= mcach.increment(key, 5, &int_ret_value);
|
|
108
|
+
assert(rc == true);
|
|
109
|
+
assert(int_ret_value == 8);
|
|
110
|
+
|
|
111
|
+
return TEST_SUCCESS;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
test_return basic_master_key_test(memcached_st *memc)
|
|
115
|
+
{
|
|
116
|
+
Memcache foo(memc);
|
|
117
|
+
const string value_set("Data for server A");
|
|
118
|
+
vector<char> value;
|
|
119
|
+
vector<char> test_value;
|
|
120
|
+
const string master_key_a("server-a");
|
|
121
|
+
const string master_key_b("server-b");
|
|
122
|
+
const string key("xyz");
|
|
123
|
+
|
|
124
|
+
populate_vector(value, value_set);
|
|
125
|
+
|
|
126
|
+
foo.setByKey(master_key_a, key, value, 0, 0);
|
|
127
|
+
foo.getByKey(master_key_a, key, test_value);
|
|
128
|
+
|
|
129
|
+
assert((memcmp(&value[0], &test_value[0], value.size()) == 0));
|
|
130
|
+
|
|
131
|
+
test_value.clear();
|
|
132
|
+
|
|
133
|
+
foo.getByKey(master_key_b, key, test_value);
|
|
134
|
+
assert((memcmp(&value[0], &test_value[0], value.size()) == 0));
|
|
135
|
+
|
|
136
|
+
return TEST_SUCCESS;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/* Count the results */
|
|
140
|
+
memcached_return callback_counter(memcached_st *,
|
|
141
|
+
memcached_result_st *,
|
|
142
|
+
void *context)
|
|
143
|
+
{
|
|
144
|
+
unsigned int *counter= static_cast<unsigned int *>(context);
|
|
145
|
+
|
|
146
|
+
*counter= *counter + 1;
|
|
147
|
+
|
|
148
|
+
return MEMCACHED_SUCCESS;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
test_return mget_result_function(memcached_st *memc)
|
|
152
|
+
{
|
|
153
|
+
Memcache mc(memc);
|
|
154
|
+
bool rc;
|
|
155
|
+
string key1("fudge");
|
|
156
|
+
string key2("son");
|
|
157
|
+
string key3("food");
|
|
158
|
+
vector<string> keys;
|
|
159
|
+
vector< vector<char> *> values;
|
|
160
|
+
vector<char> val1;
|
|
161
|
+
vector<char> val2;
|
|
162
|
+
vector<char> val3;
|
|
163
|
+
populate_vector(val1, key1);
|
|
164
|
+
populate_vector(val2, key2);
|
|
165
|
+
populate_vector(val3, key3);
|
|
166
|
+
keys.reserve(3);
|
|
167
|
+
keys.push_back(key1);
|
|
168
|
+
keys.push_back(key2);
|
|
169
|
+
keys.push_back(key3);
|
|
170
|
+
values.reserve(3);
|
|
171
|
+
values.push_back(&val1);
|
|
172
|
+
values.push_back(&val2);
|
|
173
|
+
values.push_back(&val3);
|
|
174
|
+
unsigned int counter;
|
|
175
|
+
memcached_execute_function callbacks[1];
|
|
176
|
+
|
|
177
|
+
/* We need to empty the server before we continue the test */
|
|
178
|
+
rc= mc.flush(0);
|
|
179
|
+
rc= mc.setAll(keys, values, 50, 9);
|
|
180
|
+
assert(rc == true);
|
|
181
|
+
|
|
182
|
+
rc= mc.mget(keys);
|
|
183
|
+
assert(rc == true);
|
|
184
|
+
|
|
185
|
+
callbacks[0]= &callback_counter;
|
|
186
|
+
counter= 0;
|
|
187
|
+
rc= mc.fetchExecute(callbacks, static_cast<void *>(&counter), 1);
|
|
188
|
+
|
|
189
|
+
assert(counter == 3);
|
|
190
|
+
|
|
191
|
+
return TEST_SUCCESS;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
test_return mget_test(memcached_st *memc)
|
|
195
|
+
{
|
|
196
|
+
Memcache mc(memc);
|
|
197
|
+
bool rc;
|
|
198
|
+
memcached_return mc_rc;
|
|
199
|
+
vector<string> keys;
|
|
200
|
+
vector< vector<char> *> values;
|
|
201
|
+
keys.reserve(3);
|
|
202
|
+
keys.push_back("fudge");
|
|
203
|
+
keys.push_back("son");
|
|
204
|
+
keys.push_back("food");
|
|
205
|
+
vector<char> val1;
|
|
206
|
+
vector<char> val2;
|
|
207
|
+
vector<char> val3;
|
|
208
|
+
populate_vector(val1, "fudge");
|
|
209
|
+
populate_vector(val2, "son");
|
|
210
|
+
populate_vector(val3, "food");
|
|
211
|
+
values.reserve(3);
|
|
212
|
+
values.push_back(&val1);
|
|
213
|
+
values.push_back(&val2);
|
|
214
|
+
values.push_back(&val3);
|
|
215
|
+
|
|
216
|
+
string return_key;
|
|
217
|
+
vector<char> return_value;
|
|
218
|
+
|
|
219
|
+
/* We need to empty the server before we continue the test */
|
|
220
|
+
rc= mc.flush(0);
|
|
221
|
+
assert(rc == true);
|
|
222
|
+
|
|
223
|
+
rc= mc.mget(keys);
|
|
224
|
+
assert(rc == true);
|
|
225
|
+
|
|
226
|
+
while ((mc_rc= mc.fetch(return_key, return_value)) != MEMCACHED_END)
|
|
227
|
+
{
|
|
228
|
+
assert(return_value.size() != 0);
|
|
229
|
+
return_value.clear();
|
|
230
|
+
}
|
|
231
|
+
assert(mc_rc == MEMCACHED_END);
|
|
232
|
+
|
|
233
|
+
rc= mc.setAll(keys, values, 50, 9);
|
|
234
|
+
assert(rc == true);
|
|
235
|
+
|
|
236
|
+
rc= mc.mget(keys);
|
|
237
|
+
assert(rc == true);
|
|
238
|
+
|
|
239
|
+
while ((mc_rc= mc.fetch(return_key, return_value)) != MEMCACHED_END)
|
|
240
|
+
{
|
|
241
|
+
assert(return_key.length() == return_value.size());
|
|
242
|
+
assert(!memcmp(&return_value[0], return_key.c_str(), return_value.size()));
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
return TEST_SUCCESS;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
test_st tests[] ={
|
|
249
|
+
{ "basic", 0, basic_test },
|
|
250
|
+
{ "basic_master_key", 0, basic_master_key_test },
|
|
251
|
+
{ "increment_test", 0, increment_test },
|
|
252
|
+
{ "mget", 1, mget_test },
|
|
253
|
+
{ "mget_result_function", 1, mget_result_function },
|
|
254
|
+
{0, 0, 0}
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
collection_st collection[] ={
|
|
258
|
+
{"block", 0, 0, tests},
|
|
259
|
+
{0, 0, 0, 0}
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
#define SERVERS_TO_CREATE 1
|
|
263
|
+
|
|
264
|
+
extern "C" void *world_create(void)
|
|
265
|
+
{
|
|
266
|
+
server_startup_st *construct;
|
|
267
|
+
|
|
268
|
+
construct= (server_startup_st *)malloc(sizeof(server_startup_st));
|
|
269
|
+
memset(construct, 0, sizeof(server_startup_st));
|
|
270
|
+
|
|
271
|
+
construct->count= SERVERS_TO_CREATE;
|
|
272
|
+
server_startup(construct);
|
|
273
|
+
|
|
274
|
+
return construct;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
void world_destroy(void *p)
|
|
278
|
+
{
|
|
279
|
+
server_startup_st *construct= static_cast<server_startup_st *>(p);
|
|
280
|
+
memcached_server_st *servers=
|
|
281
|
+
static_cast<memcached_server_st *>(construct->servers);
|
|
282
|
+
memcached_server_list_free(servers);
|
|
283
|
+
|
|
284
|
+
server_shutdown(construct);
|
|
285
|
+
free(construct);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
void get_world(world_st *world)
|
|
289
|
+
{
|
|
290
|
+
world->collections= collection;
|
|
291
|
+
world->create= world_create;
|
|
292
|
+
world->destroy= world_destroy;
|
|
293
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
memcat v1.0
|
|
2
|
+
|
|
3
|
+
Cat a set of key values to stdout.
|
|
4
|
+
|
|
5
|
+
Current options. A '=' means the option takes a value.
|
|
6
|
+
|
|
7
|
+
--version
|
|
8
|
+
Display the version of the application and then exit.
|
|
9
|
+
--help
|
|
10
|
+
Diplay this message and then exit.
|
|
11
|
+
--verbose
|
|
12
|
+
Give more details on the progression of the application.
|
|
13
|
+
--debug
|
|
14
|
+
Provide output only useful for debugging.
|
|
15
|
+
--servers=
|
|
16
|
+
List which servers you wish to connect to.
|
|
17
|
+
--flag
|
|
18
|
+
Provide flag information for storage operation.
|
|
19
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
memcp v1.0
|
|
2
|
+
|
|
3
|
+
Copy a set of files to a memcached cluster.
|
|
4
|
+
|
|
5
|
+
Current options. A '=' means the option takes a value.
|
|
6
|
+
|
|
7
|
+
--version
|
|
8
|
+
Display the version of the application and then exit.
|
|
9
|
+
--help
|
|
10
|
+
Diplay this message and then exit.
|
|
11
|
+
--verbose
|
|
12
|
+
Give more details on the progression of the application.
|
|
13
|
+
--debug
|
|
14
|
+
Provide output only useful for debugging.
|
|
15
|
+
--servers=
|
|
16
|
+
List which servers you wish to connect to.
|
|
17
|
+
--flag=
|
|
18
|
+
Provide flag information for storage operation.
|
|
19
|
+
--expire=
|
|
20
|
+
Set the expire option for the object.
|
|
21
|
+
--set
|
|
22
|
+
Use set command with memcached when storing.
|
|
23
|
+
--add
|
|
24
|
+
Use add command with memcached when storing.
|
|
25
|
+
--replace
|
|
26
|
+
Use replace command with memcached when storing.
|
|
27
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
memrm v1.0
|
|
2
|
+
|
|
3
|
+
Erase a key or set of keys from a memcached cluster.
|
|
4
|
+
|
|
5
|
+
Current options. A '=' means the option takes a value.
|
|
6
|
+
|
|
7
|
+
--version
|
|
8
|
+
Display the version of the application and then exit.
|
|
9
|
+
--help
|
|
10
|
+
Diplay this message and then exit.
|
|
11
|
+
--verbose
|
|
12
|
+
Give more details on the progression of the application.
|
|
13
|
+
--debug
|
|
14
|
+
Provide output only useful for debugging.
|
|
15
|
+
--servers=
|
|
16
|
+
List which servers you wish to connect to.
|
|
17
|
+
--expire=
|
|
18
|
+
Set the expire option for the object.
|
|
19
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
memslap v1.0
|
|
2
|
+
|
|
3
|
+
Generates a load against a memcached custer of servers.
|
|
4
|
+
|
|
5
|
+
Current options. A '=' means the option takes a value.
|
|
6
|
+
|
|
7
|
+
--concurrency=
|
|
8
|
+
Number of users to simulate with load.
|
|
9
|
+
--debug
|
|
10
|
+
Provide output only useful for debugging.
|
|
11
|
+
--execute-number=
|
|
12
|
+
Number of times to execute the given test.
|
|
13
|
+
--flag
|
|
14
|
+
Provide flag information for storage operation.
|
|
15
|
+
--flush
|
|
16
|
+
Flush servers before running tests.
|
|
17
|
+
--help
|
|
18
|
+
Diplay this message and then exit.
|
|
19
|
+
--initial-load=
|
|
20
|
+
Number of key pairs to load before executing tests.
|
|
21
|
+
--non-blocking
|
|
22
|
+
Set TCP up to use non-blocking IO.
|
|
23
|
+
--servers=
|
|
24
|
+
List which servers you wish to connect to.
|
|
25
|
+
--tcp-nodelay
|
|
26
|
+
Set TCP socket up to use nodelay.
|
|
27
|
+
--test=
|
|
28
|
+
Test to run.
|
|
29
|
+
--verbose
|
|
30
|
+
Give more details on the progression of the application.
|
|
31
|
+
--version
|
|
32
|
+
Display the version of the application and then exit.
|
|
33
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
memslap v1.0
|
|
2
|
+
|
|
3
|
+
Generates a load against a memcached custer of servers.
|
|
4
|
+
|
|
5
|
+
Current options. A '=' means the option takes a value.
|
|
6
|
+
|
|
7
|
+
--concurrency=
|
|
8
|
+
Number of users to simulate with load.
|
|
9
|
+
--debug
|
|
10
|
+
Provide output only useful for debugging.
|
|
11
|
+
--execute-number=
|
|
12
|
+
Number of times to execute the given test.
|
|
13
|
+
--flag
|
|
14
|
+
Provide flag information for storage operation.
|
|
15
|
+
--flush
|
|
16
|
+
Flush servers before running tests.
|
|
17
|
+
--help
|
|
18
|
+
Diplay this message and then exit.
|
|
19
|
+
--initial-load=
|
|
20
|
+
Number of key pairs to load before executing tests.
|
|
21
|
+
--non-blocking
|
|
22
|
+
Set TCP up to use non-blocking IO.
|
|
23
|
+
--servers=
|
|
24
|
+
List which servers you wish to connect to.
|
|
25
|
+
--tcp-nodelay
|
|
26
|
+
Set TCP socket up to use nodelay.
|
|
27
|
+
--test=
|
|
28
|
+
Test to run.
|
|
29
|
+
--verbose
|
|
30
|
+
Give more details on the progression of the application.
|
|
31
|
+
--version
|
|
32
|
+
Display the version of the application and then exit.
|
|
33
|
+
|