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.
Matt Yonkovit says
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.
mike says
Should totally submit this to Ubuntu as a bug.
Arjen Lentz says
Which Ubuntu version?
tom3k says
turns out the same is true on centos!
thanks for the tip on how to check if ur rockin single vs. multi threaded mode…