There are a number of thread settings in aerospike, the most important ones probably service-threads, transaction-threads-per-queue, and migrate-threads. In general, for some are recommended to be equal to the number of cores, while others are static (e.g. migrate-threads is 1 by default). A few questions about that:
in aws cores (aka vcpu-s) are actually virtual hyper threads so a 8 “core” box usually means a 4 core hyperthreaded box – do you recommend using the virtual core numbers or half of that?
should the total number of threads configured add up to the total number of cores or should they be overallocated - e.g. do i want 1 migrate thread + 7 service threads on a 8 core box?
I spoke to a senior developer on this one and the response is that it is the number of visible cores that we are concerned with. So in your 4 core with hyperthreading example, we would look at that as an 8 core box.
The developer did comment though that this is only really of concern if you are at the extreme limit of performance benchmarking and that we would not advice you to run at that level of performance in a production scenario.