memcached-1.2.1 efficiency

Andreas Vierengel avierengel at gatrixx.com
Thu Jan 11 08:48:46 UTC 2007


Hi,

I just straced version 1.2.1 and I have a little question:
20 set-commands were read in two read() and aftwerwards 20 responses 
were sent in 20 sendmsg(). Do you think it performs better, if only 1 
sendmsg() was called? Or will the resulting increased complexity in 
userland be higher?

Our load is currently about 10.000 set-commands/s distributed over 100 
connections.

--Andy

# 20 set commands in 2 read()
09:28:12.515198 read(11, "set foo 0 0 284"..., 8192) = 6471 <0.000019>
09:28:12.515250 read(11, 0x81681c7, 1721) = -1 EAGAIN (Resource 
temporarily unavailable) <0.0 00008>

# 20 responses in 20 sendmsg()
09:28:12.515294 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000012>
09:28:12.515367 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000011>
09:28:12.515448 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000011>
09:28:12.515526 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000010>
09:28:12.515597 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000023>
09:28:12.515680 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000012>
09:28:12.515813 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000011>
09:28:12.515884 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000010>
09:28:12.515968 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000010>
09:28:12.516048 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000010>
09:28:12.516118 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000010>
09:28:12.516194 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000011>
09:28:12.516278 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000008>
09:28:12.516347 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000008>
09:28:12.516427 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000009>
09:28:12.516495 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000008>
09:28:12.516564 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000008>
09:28:12.516632 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000009>
09:28:12.516700 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000009>
09:28:12.516768 sendmsg(11, {msg_name(16)={sa_family=AF_UNSPEC, 
sa_data="\0\0\0\0\0\0\0\0\0\0 \0\0\0\0"}, msg_iov(1)=[{"STORED\r\n", 
8}], msg_controllen=0, msg_flags=0}, 0) = 8 <0.000009>


More information about the memcached mailing list