Threads per core system properties

Tune TPC using the Netty system parameters.

Tune TPC using the Netty system parameters.
-Ddse.io.aio.enable

Set to false to have all read operations use the AsynchronousFileChannel regardless of the operating system or disk type.

The default setting true allows dynamic switching of libraries for read operations as follows:
  • LibAIO on solid state drives (SSD) and EXT4/XFS
  • AsynchronousFileChannel for read operations on hard disk drives and all non-Linux operating systems
CAUTION: Advanced setting that should only be used with guidance from DataStax Support.

Default: true

-Ddse.io.aio.force
Set to true to force all read operations to use LibAIO regardless of the disk type or operating system.
CAUTION: Advanced setting that should only be used with guidance from DataStax Support.

Default: false

-Dnetty.eventloop.yield_extra_spins
Set to the number of iterations issue a thread yield when the queues are empty. Enabling this option increases context switches and impacts performance, both throughput and latency.

Default: 0 (disabled)

-Dnetty.eventloop.park_extra_spins
Set to the number of iterations call a thread park for 1 nanosecond when the queues are empty. Enabling this option increases context switches and impacts performance, both throughput and latency.

Default: 0 (disabled)

-Dnetty.eventloop.busy_extra_spins=N
Set to the number of iterations in the epoll event loops performed when queues are empty before moving on to the next backoff stage. Increasing the value reduces latency while increasing CPU usage when the loops are idle.

Default: 10

-Dnetty.epoll_check_interval_nanos
Sets the granularity for calling an epoll select in nanoseconds, which is a system call. Setting the value too low impacts performance because by making too many system calls. Setting the value too high, impacts performance by delaying the discovery of new events.

Default: 2000

-Dnetty.schedule_check_interval_nanos
Set the granularity for checking if scheduled events are ready to execute in nanoseconds. Specifying a value below 1 nanosecond is not productive. Too high a values delays scheduled tasks.

Default: 1000