BPFを利用し、Linuxカーネルのパラメータを継続的に自動チューニングする「bpftune」。オラクルがオープンソースで公開

2023年7月3日

オラクルはLinuxカーネルのパラメータを、ワークロードに合わせて継続的に自動チューニングするツール「bpftune」をオープンソースで公開しましたGitHubのページ)。

fig

bpftuneは「BPF」(Berkeley Packet Filter)と呼ばれる、Linuxカーネル内のさまざまな機能をフックして機能拡張が可能な仕組みを利用し、継続的にLinuxカーネルのきめこまなかレベルで監視を行い自動チューニングを実現しています。

オラクルはbpftuneを開発した背景として、クラウドに代表される大規模なサーバ展開が可能なインフラにおいて、以前よりも個々のサーバのチューニングについて注意が払われることがほとんどなくなったこと、チューニングされるとしても静的に適切な設定があると考えられることが一般的であることを挙げています。

bpftuneによる自動チューニング対象の項目

bpftuneは現時点ではオラクル社内でよく用いられるチューニング項目に焦点が当てられているとのことですが、プラガブルな構造で拡張可能とのこと。

チューニング対象となっているのは以下の項目。

輻輳チューナー
輻輳制御アルゴリズムの選択を自動調整

隣接(Neighbour)テーブルチューナー
プロトコル処理用のNeighbourテーブルが満杯に近づくと、サイズを自動調整

ルート(Route)テーブルチューナー
Routeテーブルが満杯に近づくとサイズを自動調整

Sysctlチューナー
sysctl の設定を監視し、自動チューニングされた sysctl 値とマニュアル設定が衝突する場合、関連する自動チューナを無効に

TCPバッファチューナー
イニシャルバッファサイズと最大バッファサイズを自動調整

Netバッファチューナー
コアネットワーキングに関連する項目を自動調整

Netnsチューナー
ネットワーク名前空間の追加と削除を通知し、bpftune 全体の名前空間認識を支援。名前空間の認識はコンテナの自動チューニングを可能にする点で重要となる

bpftuneが現在利用中のLinuxカーネルに対応しているかどうかは、「bpftune -S」コマンドによって確認できます。対応している場合、以下のような表示が返ってきます。

$ bpftune -S
bpftune works fully
bpftune supports per-netns policy (via netns cookie)

あわせて読みたい

Linux OS 運用・監視 eBPF Oracle




タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本