local_filesystem_read_method
preadv2 システムコールと RWF_NOWAIT フラグで確認します。この確認には Linux 5.11 以降が必要であり、システムコールがコンテナーランタイムの seccomp プロファイルによって拒否されていない必要があります。起動時にこのシステムコールを使用できるか確認し、使用できない場合は、この設定のデフォルト値が ‘pread’ に切り替えられます。ページキャッシュから読み取られるものも含め、すべての読み取りをスレッドプールに委譲するとコストが高いためです。理由はサーバーログに記録されます。seccomp プロファイルは、コンテナーランタイムのようにエラーコードを返してシステムコールを拒否する場合にのみ検出されます。プロセスを終了させるプロファイルは検出できません。設定または SET で明示的に指定された値は切り替えられません。
‘io_uring’ メソッドは実験的機能であり、Log、TinyLog、StripeLog、File、Set、Join、および追記可能なファイルを持つその他のテーブルでは、読み取りと書き込みが同時実行される場合に動作しません。
インターネット上で ‘io_uring’ に関するさまざまな記事を読んでも、うのみにしないでください。大量の小さな I/O リクエストを扱う場合を除き、これはより優れたファイル読み取り方法ではありませんが、ClickHouse ではそのような状況には当てはまりません。‘io_uring’ を有効にする理由はありません。