docs/operating-scylla/admin-tools/perftune.rst
ScyllaDB's Seastar Perftune helps you run ScyllaDB with its maximum performance.
The perftune.py <https://github.com/scylladb/seastar/blob/master/scripts/perftune.py>_ script
handles network and disk tuning, reassigning IRQs to specific CPU cores and freeing
the other cores for ScyllaDB’s exclusive use.
More specifically, running the script will:
irq_cpu_mask value. Note that more than one physical core will be used
for IRQ handling for large machines.To ensure that the tuning persists after a host reboot, we recommend creating a systemd unit that will run on host startup and re-tune the hosts.
The perfrune.yaml file is the output file of the perftune.py script
(with the --dump-options-file option enabled). The script determines
the irq_cpu_mask and prints it to perftume.yaml on the first machine.
It's important to use the same irq_cpu_mask value on other machines, even if more machines are
added to the cluster, to avoid a mixed-cluster situation.
Note that perftune.yaml is generated only if the file doesn’t exist.
You can run perftune.py with the following options:
.. list-table:: :widths: 30 70 :header-rows: 1
--arfs--cpu-mask--devsda1. You can use it more than
once to specify multiple devices.--dir--dry-run--dump-options-file--get-cpu-mask--get-cpu-mask-quiet--get-irq-cpu-mask--irq-core-auto-detection-ratiocpu_mask value.
The default is 16.--irq-cpu-mask--niceth0. You can use it more than once
to specify multiple interfaces.--num-rx-queues--options-file--tune
Specifies the components to configure. You can use it more than once to specify multiple values. The available values are:
net - Enables tuning the network.disks - Enables tuning the disks.system - Enables tuning system-related components.--tune-clockfalse. Requires the --tune option.--verbose--write-back-cache