These settings are available in system.settings and are autogenerated from source.
local_filesystem_read_method
Method of reading data from local filesystem, one of: read, pread, mmap, io_uring, pread_threadpool.
The ‘pread_threadpool’ method hands a read off to a thread pool, unless the data is already in the page cache, which is checked with the preadv2 system call and the RWF_NOWAIT flag. That check needs Linux 5.11 or newer, and the system call must not be rejected by a seccomp profile of a container runtime. It is checked on startup whether the system call can be used, and if it cannot, the default value of this setting is switched to ‘pread’, because a thread pool hand-off for every read, including the reads that are served from the page cache, is expensive; the reason is reported in the server log. A seccomp profile is detected only if it rejects the system call with an error code, which is what container runtimes do; a profile that terminates the process instead cannot be detected. A value set explicitly, in the configuration or with SET, is not switched.
The ‘io_uring’ method is experimental and does not work for Log, TinyLog, StripeLog, File, Set and Join, and other tables with append-able files in presence of concurrent reads and writes.
If you read various articles about ‘io_uring’ on the Internet, don’t be blinded by them. It is not a better method of reading files, unless the case of a large amount of small IO requests, which is not the case in ClickHouse. There are no reasons to enable ‘io_uring’.
local_filesystem_read_prefetch
Should use prefetching when reading data from local filesystem. Last modified on August 14, 2026