local_filesystem_read_method
preadv2 시스템 호출과 RWF_NOWAIT 플래그로 확인했을 때 데이터가 이미 페이지 캐시에 있는 경우를 제외하고 읽기 작업을 스레드 풀에 넘깁니다. 이 확인에는 Linux 5.11 이상이 필요하며, 시스템 호출이 컨테이너 런타임의 seccomp 프로필에 의해 거부되지 않아야 합니다. 시작 시 시스템 호출을 사용할 수 있는지 확인하며, 사용할 수 없으면 페이지 캐시에서 처리되는 읽기를 포함한 모든 읽기 작업을 스레드 풀에 넘기는 비용이 크므로 이 설정의 기본값을 ‘pread’로 전환합니다. 그 이유는 서버 로그에 기록됩니다. seccomp 프로필은 컨테이너 런타임에서 수행하는 것처럼 오류 코드와 함께 시스템 호출을 거부하는 경우에만 감지됩니다. 프로세스를 종료하는 프로필은 감지할 수 없습니다. 구성에서 또는 SET으로 명시적으로 설정한 값은 전환되지 않습니다.
‘io_uring’ 메서드는 실험적 기능이며, 동시 읽기 및 쓰기 환경에서는 Log, TinyLog, StripeLog, File, Set, Join 및 파일에 추가(append)할 수 있는 기타 테이블에서는 작동하지 않습니다.
인터넷에서 ‘io_uring’에 관한 여러 글을 보더라도 그것에 현혹되지 마십시오. ClickHouse에서는 많은 수의 작은 IO 요청을 처리하는 경우가 아니므로, 이것이 더 나은 파일 읽기 메서드는 아닙니다. ‘io_uring’를 활성화할 이유는 없습니다.