Skip to Content

configuring syb_default_pool.


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.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Apr 12, 2018 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.



    Add comment
    10|10000 characters needed 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.