Google、アプリ用プロファイリングツール「Stackdriver Profiler」を一般提供開始:CPUとメモリを継続的に分析
Googleは、クラウドサービスのパフォーマンス向上やコスト削減に役立つアプリケーション用プロファイリングツール「Stackdriver Profiler」の一般提供を開始した。本番環境でユーザーのコードがどのように実行されているかが分かるため、パフォーマンスの最適化やサーバ利用コストの削減に役立つ。
Googleは2019年6月27日(米国時間)、「Stackdriver Profiler」の一般提供を開始したと発表した。
Stackdriver Profilerは、「Google Cloud Platform」(GCP)サービスに含まれる「Stackdriver」シリーズのうち、監視やロギングのためのツール。ユーザーがクラウドサービスのパフォーマンスを高め、コストを削減できるように、CPUとメモリのプロファイリングを継続的に行う。
これにより、本番環境でユーザーのコードがどのように実行されているかが分かる。関数がどのように呼び出されているか、どの関数がCPUやメモリを消費しているかを把握できる。その際、ユーザーコードのパフォーマンスには目立った影響を与えない。
Stackdriver Profilerを利用する際、追加料金は必要ない。アプリケーションがどこで実行されているか(「Google Kubernetes Engine」「Google Compute Engine」を含むGCPのようなクラウドプラットフォームや、オンプレミスなど)を問わず、アプリケーションを分析できる。対応する言語はJavaやGo、Node.js、Python。
Stackdriver Profilerは、アプリケーションの全インスタンスにわたって稼働する軽量のサンプリングベースの計測器を介してデータを収集する。その後データを図のようなフレームチャートとして表示する。横軸には各関数の選択した指標(CPU時間や実測時間、メモリ使用量、競合など)を、縦軸には関数呼び出しの階層を示す。
Stackdriver Profilerは、コードのパフォーマンスの最適化やメモリリークの発生源の検出、コスト削減に役立つ。本番環境のパフォーマンスについて、他のツールでは得られない洞察を提供できる。
先行事例もある
本番環境でプロファイラを使用した事例もあるという。例えばスロベニアEkipa2の子会社であるOutfit7 Groupでシニアソフトウェアエンジニアを務めるAnje Sodja氏は次のようにコメントした。
「当社のバックエンドチームは、Stackdriver Profilerを使用して、メモリ使用量を分析できた。App Engine Standard環境で動作するJavaのジョブが対象だ。ボトルネックを特定して修正し、1日に数回発生していたOOM(メモリ不足)エラーをほぼゼロに減らすことができた。Stackdriver Profilerによって、問題を迅速に特定できたことになる。また、ローカルのテスト環境を設定することなく、アプリケーションをクラウド内で直接プロファイルできるため、デバッグ時間を大幅に短縮できた」
米SnapのソフトウェアエンジニアであるEvan Yin氏は次のように述べている。
「サービスのスケーラビリティを改善するための取り組みの一環として、Stackdriver Profilerを使用した。このツールを使ったことで、最適化すべき部分がピンポイントで分かり、CPU時間を削減できた。これがスケーラビリティ改善に役立った」
機能を継続的に追加
Googleは、Stackdriver Profilerへ機能を継続的に追加している。2019年6月までの数カ月間に追加された機能は次の通り。
- 重み付けによるフィルタリング
- 各関数のコスト集計を表示
- コンテナや仮想マシン(VM)で動作するPythonアプリケーションのフルサポート
- フレームチャートの新しいカラーモード。リソース消費量に基づいて、関数の表示を色分けする
- フィルターのツールチップ。フィルターバーの右端のクエスチョンマークボタンからアクセスする
- フォーカステーブルが新たに比較機能に対応。2種類のプロファイルを比較する際は、比較列を追加する
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「AutoML」の強化から「AI Platform」まで、Google Cloudが機械学習/AIで多数の発表
Google Cloudは2019年4月10日(米国時間)、Google Cloud Next ‘19で、機械学習/AIに関する多数の発表を行った。これらは、「ビジネスユーザーのAI活用支援」と「貴重な社内データサイエンティスト/データエンジニアの生産性向上支援」の2つに分けられるという。Google Cloudのハイブリッドソリューション「Cloud Services Platform」はどうなるのか聞いた
Google Cloudが2018年のGoogle Cloud Nextで発表した同社のハイブリッドクラウドソリューション「Cloud Services Platform」は、βの提供が始まっている。このソリューションはどのようなものになるのか。具体的な姿を同社の技術関係者2人に聞いた。企業とサービス事業者のネットワーク/インフラ、複雑化をどうする?
「Interop Tokyo 2019」では、例年通り、高速化を続けるネットワーク製品が多数登場する。一方、ネットワークおよびITインフラ、アプリケーションの複雑化に対応するモニタリング/サービス監視・管理ツールも出展する。本記事では、データセンタースイッチと、インフラやアプリケーションのパフォーマンス管理製品について紹介する。