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
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本