-
Notifications
You must be signed in to change notification settings - Fork 0
Throughput Discussion
It was hypothesized that pipelining requests over fewer connections would lead to increased throughput. To test this, a load client 'tput.cpp' and characterization script 'characterize_throughput.sh' are included in the test directory.
The plot below shows an example sweep of client configurations against a local memcached server with default server thread settings:
For all values of client thread count, throughput increases linearly as connections are added, up to four. Marginal increases diminish after this inflection point. This is expected behavior as the memcached server is configured with four threads by default.
The interesting feature here is that performance continues to increase with client threads beyond four, for connection pool sizes [1,2]*. I believe this is superficial confirmation of my hypothesis that pipelined requests over fewer connections would lead to more efficient client/server communication.
This test was conducted against a local memcached server instance. I think this effect would be more pronounced if characterized against a remote server. It would be less important as key+value size in the transaction increases.
- what I have not rationalized is the discrete drop for pool size [3] -- I would have expected a gradual decline to the level observed for higher connection counts.