[レポート] NetflixにおけるBPFパフォーマンス分析 #OPN303 #reinvent

[レポート] NetflixにおけるBPFパフォーマンス分析 #OPN303 #reinvent

re:Invent 2019から、[OPN303] BPF performance analysis at Netflix についてレポートします。
Clock Icon2019.12.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

西澤です。本稿では、以下のセッションについてレポートします。

セッション情報

Extended BPF (eBPF) is an open-source Linux technology that powers a whole new class of software: mini programs that run on events. Among its many uses, BPF can be used to create powerful performance-analysis tools capable of analyzing everything: CPUs, memory, disks, file systems, networking, languages, applications, and more. In this session, Netflix's Brendan Gregg tours BPF tracing capabilities, including many new open-source performance analysis tools he developed for his new book "BPF Performance Tools: Linux System and Application Observability." The talk also includes examples of using these tools in the Amazon Elastic Compute Cloud (Amazon EC2) cloud.

レポート

BPFのデモ

冒頭からWiFiの強さをモニタリングするツールのデモがスタート!

...enabling us to instrument code to figure out arbitrary things like wifi signal strength. pic.twitter.com/YpIYKKQ5Y6

— AWS Open Source (@AWSOpen) December 5, 2019

なぜBPFがLinuxを変えているのか?

  • これまでの50年間で利用されてきたOSモデル

  • BPFトレースは非ブロッキングでシンプルな新しいプログラム

  • BPF on Facebook
    • すべてのサーバ上で40のBPFプログラムが動作
    • オンデマンドでは、100のBPFプログラムを手動で操作することも
    • 主にデーモンとして動作
    • 多くのチームで利用し、開発している

  • BPF on NETFLIX
    • >150K EC2インスタンス
    • ~34% USの夜間インターネットトラフィックに占める割合
    • >130M サブスクライバー
    • ~14 BPFプログラムが動作している

  • 最近のLinuxアプリケーションでは、よりイベントベースでマイクロカーネル化が進んでいる

  • BPFの歴史
    • 1992 パケットモニタリングのみの限定的なものだった
    • 2019 Facebook Katran、Google KRSI、Netflix flowsrus、などで大規模に利用され、Kernelに紐づくほとんどのリソースをモニタリンスできるようになっている

BPFの裏側

  • 内部構造
    • spectrum meltdownの脆弱性の対策のためセキュアに
    • マイクロコード化が進んでいる
    • システム領域とユーザ領域の間に位置する新しいソフトウェア

パフォーマンス分析

  • ほぼすべての領域においてパフォーマンス分析がでkりうツールが揃っている

ツールの紹介

まとめ

DTraceの開発者としても有名なBrendan Gregg(@brendangregg)のAWS層とは異なる少しマニアックなセッションに参加してみました。ここまで分析するようなディープなLinux運用に関わったことが無いのですが、これらのツールを導入して使いこなせるようになると、パフォーマンス分析が捗ることは間違いなしですので、興味のある方はぜひお試しいただければと思います!

引き続き、現地からのレポートを続けます!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.