On Tue, May 9, 2023 at 8:07 AM Zhang, Cathy <cathy.zhang@xxxxxxxxx> wrote: > [...] > > > > Something must be wrong in your setup, because the only small issue that > > was noticed was the memcg one that Shakeel solved last year. > > As mentioned in commit log, the test is to create 8 memcached-memtier pairs > on the same host, when server and client of the same pair connect to the same > CPU socket and share the same CPU set (28 CPUs), the memcg overhead is > obviously high as shown in commit log. If they are set with different CPU set from > separate CPU socket, the overhead is not so high but still observed. Here is the > server/client command in our test: > server: > memcached -p ${port_i} -t ${threads_i} -c 10240 > client: > memtier_benchmark --server=${memcached_id} --port=${port_i} \ > --protocol=memcache_text --test-time=20 --threads=${threads_i} \ > -c 1 --pipeline=16 --ratio=1:100 --run-count=5 > > So, is there anything wrong you see? > What is the memcg hierarchy of this workload? Is each server and client processes running in their own memcg? How many levels of memcgs? Are you setting memory.max and memory.high to some value? Also how are you limiting the processes to CPUs? cpusets?