SMC-R problem under multithread

From: liuyacan
Date: Sun May 29 2022 - 23:16:58 EST


Hi experts,

I recently used memcached to test the performance of SMC-R relative to TCP, but the results
are confusing me. When using multithread on the server side, the performance of SMC-R is not as good as TCP.

Specifically, I tested 4 scenarios with server thread: 1\2\4\8. The client uses 8threads fixedly.

server: (smc_run) memcached -t 1 -m 16384 -p [SERVER-PORT] -U 0 -F -c 10240 -o modern
client: (smc-run) memtier_benchmark -s [SERVER-IP] -p [SERVER-PORT] -P memcache_text --random-data --data-size=100 --data-size-pattern=S --key-minimum=30 --key-maximum=100 -n 5000000 -t 8

The result is as follows:

SMC-R:

server-thread ops/sec client-cpu server-cpu
1 242k 220% 97%
2 362k 241% 128%
4 378k 242% 160%
8 395k 242% 210%

TCP:
server-thread ops/sec client-cpu server-cpu
1 185k 224% 100%
2 435k 479% 200%
4 780k 731% 400%
8 938k 800% 659%

It can be seen that as the number of threads increases, the performance increase of SMC-R is much slower than that of TCP.

Am I doing something wrong? Or is it only when CPU resources are tight that SMC-R has a significant advantage ?

Any suggestions are welcome.


Thanks & Regards,
Yacan.