I discovered while compiling Wafflegrid today that by default, the Ubuntu binaries for memcached are not-multithreaded.
Following the installation of memcached from apt-get and libmemcached I ran memslap for:
$ memslap -s localhost
Threads connecting to servers 1
Took 1.633 seconds to load data
$ memstat -s localhost
Listing 1 Server
Server: localhost (11211)
pid: 23868
uptime: 54
time: 1244575816
version: 1.2.2
pointer_size: 32
rusage_user: 0.90000
rusage_system: 0.120000
curr_items: 10000
total_items: 10000
bytes: 5430000
curr_connections: 1
total_connections: 3
connection_structures: 2
cmd_get: 0
cmd_set: 10000
get_hits: 0
get_misses: 0
evictions: 0
bytes_read: 5430000
bytes_written: 5430000
limit_maxbytes: 0
threads: 1
By installed the Latest RC 1.4.0 we see.
memslap -s localhost
Threads connecting to servers 1
Took 0.866 seconds to load data
memstat -s localhost
Listing 1 Server
Server: localhost (11211)
pid: 8651
uptime: 375
time: 1244577237
version: 1.4.0-rc1
pointer_size: 32
rusage_user: 0.110000
rusage_system: 0.130000
curr_items: 10000
total_items: 10000
bytes: 5510000
curr_connections: 5
total_connections: 8
connection_structures: 6
cmd_get: 0
cmd_set: 10000
get_hits: 0
get_misses: 0
evictions: 0
bytes_read: 5510000
bytes_written: 5510000
limit_maxbytes: 0
threads: 5
Thanks Matt for pointing that one out.
Actually 1.2.x can be compiled for multi-threaded, but the default was to leave it off. I think 1.2.7 or 1.2.8 enables thread by default.
Should totally submit this to Ubuntu as a bug.
Which Ubuntu version?
turns out the same is true on centos!
thanks for the tip on how to check if ur rockin single vs. multi threaded mode…