Skip to Content

configuring syb_default_pool.

Apr 08 at 05:14 PM


avatar image


I am working on version

Adaptive Server Enterprise/16.0 SP02 PL05 HF1/EBF 26759 SMP/P/x86_64/Enterprise Linux/ase160sp02pl05x/2736/64-bit/FBO/Mon Jan 16 23:55:31 2017

I have been hitting high CPU runs, inspecting mon* tables does not show any blocking and also, most of the time the CPU was hitting 90%+ usage. I plan to increase the number of CPU from 48VCPU to 64VCPU. Previously the syb_Default_pool was configured to 46 and then reduced to 32 to ensure we are not over hitting the parallel contention. However, after careful observation, i plan to increase to 64VVCPU, answer i am trying to find is what is a good configuration, should i configure same number of syb_default_pool thread as number of CPU or use any know practice default thumb rule. Usually safe is to assign 80% of capacity. Can you someone please suggest what should be the new configuration for syb_default_pool

Best Regards,

- Imran.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Tilman Model-Bosch
Apr 12 at 01:48 PM

Rule of thumb

In case this is a standalone dbhost - and assuming you do not have an named thread pools in ASE:

thread count in syb_default_pool = #physical cores - 2

That leaves some space for OS and other ASE thread activity in syb_blocking_pool and syb_system_pool.

In any case I strongly discourage configuring online engines higher than # physical cores. That bears a very high risk of spinlock contention.



Show 1 Share
10 |10000 characters needed characters left characters exceeded

Also, if database dumps are being run with multiple stripes and compression, each stripe will eat up some CPU doing compression ("sybmultbuf" processes). I see 60-90% CPU per dump stripe using the "with compression=100" option on Linux.

So you need to leave enough spare CPU so dumps don't bottleneck the machine.