diff --git a/dist/common/scripts/scylla_io_setup b/dist/common/scripts/scylla_io_setup index d1cc28a8b5..775d9ba200 100755 --- a/dist/common/scripts/scylla_io_setup +++ b/dist/common/scripts/scylla_io_setup @@ -122,7 +122,6 @@ class scylla_cpuinfo: return len(self._cpu_data["system"]) def run_iotune(): - configure_aio_slots() if "SCYLLA_CONF" in os.environ: conf_dir = os.environ["SCYLLA_CONF"] else: diff --git a/dist/common/scripts/scylla_prepare b/dist/common/scripts/scylla_prepare index 9427528812..61f95af95c 100755 --- a/dist/common/scripts/scylla_prepare +++ b/dist/common/scripts/scylla_prepare @@ -114,8 +114,6 @@ if __name__ == '__main__': os.remove('/etc/scylla/ami_disabled') sys.exit(1) - configure_aio_slots() - if mode == 'virtio': tap = cfg.get('TAP') user = cfg.get('USER') @@ -145,4 +143,3 @@ if __name__ == '__main__': print(f'Exception occurred while creating perftune.yaml: {e}') print('To fix the error, please re-run scylla_setup.') sys.exit(1) - diff --git a/dist/common/scripts/scylla_util.py b/dist/common/scripts/scylla_util.py index 9be4d56a00..c194c5593b 100644 --- a/dist/common/scripts/scylla_util.py +++ b/dist/common/scripts/scylla_util.py @@ -92,27 +92,6 @@ def scyllabindir(): return str(scyllabindir_p()) -def get_required_aio_slots(): - return cpu_count() * 11026 + 65536 - -def configure_aio_slots(): - aio_conf_file = "/etc/sysctl.d/aio-max-nr.conf" - aio_max_nr_value = "fs.aio-max-nr = " + str(get_required_aio_slots()) - mode = 'w+' - if os.path.exists(aio_conf_file): - with open(aio_conf_file, 'r') as file: - for line in file: - aio_conf_value = re.findall(r"[=]?\d*\.\d+|\d+", line) - aio_value = int((', '.join(map(str, aio_conf_value)))) - if aio_value > get_required_aio_slots(): - with open('/proc/sys/fs/aio-max-nr', mode) as f: - f.write(str(aio_value)) - else: - with open(aio_conf_file, mode) as f: - f.write(aio_max_nr_value + '\n') - with open('/proc/sys/fs/aio-max-nr', mode) as f: - f.write(str(get_required_aio_slots())) - # @param headers dict of k:v def curl(url, headers=None, byte=False, timeout=3, max_retries=5, retry_interval=5): retries = 0 diff --git a/dist/common/sysctl.d/99-scylla-aio.conf b/dist/common/sysctl.d/99-scylla-aio.conf new file mode 100644 index 0000000000..35957da55a --- /dev/null +++ b/dist/common/sysctl.d/99-scylla-aio.conf @@ -0,0 +1,2 @@ +# Raise max AIO events +fs.aio-max-nr = 5578536 diff --git a/dist/debian/debian/scylla-kernel-conf.postinst b/dist/debian/debian/scylla-kernel-conf.postinst index de49eaf9f4..aea1c7a05d 100644 --- a/dist/debian/debian/scylla-kernel-conf.postinst +++ b/dist/debian/debian/scylla-kernel-conf.postinst @@ -11,6 +11,7 @@ else sysctl -p/usr/lib/sysctl.d/99-scylla-sched.conf || : sysctl -p/usr/lib/sysctl.d/99-scylla-vm.conf || : sysctl -p/usr/lib/sysctl.d/99-scylla-inotify.conf || : + sysctl -p/usr/lib/sysctl.d/99-scylla-aio.conf || : fi #DEBHELPER# diff --git a/dist/redhat/scylla.spec b/dist/redhat/scylla.spec index 0c939514b8..bf63e3a026 100644 --- a/dist/redhat/scylla.spec +++ b/dist/redhat/scylla.spec @@ -207,6 +207,7 @@ if Scylla is the main application on your server and you wish to optimize its la /usr/lib/systemd/systemd-sysctl 99-scylla-sched.conf >/dev/null 2>&1 || : /usr/lib/systemd/systemd-sysctl 99-scylla-vm.conf >/dev/null 2>&1 || : /usr/lib/systemd/systemd-sysctl 99-scylla-inotify.conf >/dev/null 2>&1 || : +/usr/lib/systemd/systemd-sysctl 99-scylla-aio.conf >/dev/null 2>&1 || : %files kernel-conf %defattr(-,root,root)