High context switching rate


On our servers I can very high context switching rate in asd process. For example now one of our aerospike servers handles about 18k qps and I see that there are about 60k context switches per second in this process. And the number of threads in asd is about 360. Also I noticed that rate of context switching depends on qps. And I should mention that we have couple of jvm services running on the same server (server has 48 cores).

Is it normal for aerospike? How can we decrease this value? If we bind aerospike and other services to different cores would it help?


Today we turned off all other services on that server and left only aerospike working. We have about 1.5kk qps on our aerospike cluster and I see that there are about 1kk context switches on every server in our cluster. top shows that core cpu usage even higher than user space cpu usage.