14
みんな、 ベンチマークどうやってるの? サーバ擬人化ユーザ会 @sechiro http://d.hatena.ne.jp/sechiro/

【Hpcstudy】みんな、ベンチマークどうやってるの?

Embed Size (px)

DESCRIPTION

#hpcstudy のLT資料です。

Citation preview

Page 1: 【Hpcstudy】みんな、ベンチマークどうやってるの?

みんな、ベンチマークどうやってるの?

サーバ擬人化ユーザ会@sechirohttp://d.hatena.ne.jp/sechiro/

Page 2: 【Hpcstudy】みんな、ベンチマークどうやってるの?

自己紹介● Twitter ID: @sechiro

● サーバ擬人化ユーザ会● サーバ擬人化エバンジェリスト

● 主な仕事● ざびたん● パスワードの擬人化● インフラエンジニア双六● 新人インフラエンジニア向けメイド喫茶紹介

● 昼の仕事は便利屋SEざびたん2 護&サチ

Page 3: 【Hpcstudy】みんな、ベンチマークどうやってるの?

本日のお題● みんな、ベンチマークどうやってるの?● ベンチマークはみんなやってるはずなのに、どうやってるのかという話を聞く機会が少ない

● 世の中のベンチマーク結果は玉石混交…

● なので、自分が意識している点をお話ししてみたい

● 今回は「計画と準備」を中心に

Page 4: 【Hpcstudy】みんな、ベンチマークどうやってるの?

コンテンツ● ベンチマークの計画を立てる● ベンチマークの対象を知る● 取得すべき情報を明確に● ベンチマークツールの選定● 分析・レポート

Page 5: 【Hpcstudy】みんな、ベンチマークどうやってるの?

ベンチマークの計画を立てる● 何のベンチマークを取るの?

● HW性能?● アプリ性能?● ボトルネック解析?● プロダクト比較?

● 目的が違うと、やるべきことが全然違ってくる

Page 6: 【Hpcstudy】みんな、ベンチマークどうやってるの?

目的別戦略● HW性能?

● TPCとかほかと比較できる一般的な基準を採用● アプリ性能?

● 基礎的なスコア?– 応答性能 → 応答時間がちゃんと取れるツール– スループット → スループットをちゃんとカウントするツール– 処理時間 → 時間をちゃんと計測、timeコマンドでもおk– チューニングはせず、基本設定のみがベター

● 最大性能?– チューニングの限界に挑戦 → 多少の無茶はおk

● ボトルネック解析?● 既存のログを解析して戦略を立てることから

● プロダクト比較?● 観点とベンチマークの条件を明確にする● 内容次第では、一方的な結果になりがち

● いずれにしてもリソース使用状況は必ず取得する● そうしないと結果の妥当性が担保できない

Page 7: 【Hpcstudy】みんな、ベンチマークどうやってるの?

ベンチマーク対象を知る● ベンチマーク対象のアーキテクチャを把握する● 何を計測しているのかを明確に● 開始当初はおおざっぱでもよい

– ベンチマークしてみてわかることもある

– 少なくとも分析のたたき台は必須● アーキテクチャから最大性能を概算できているとよい

Page 8: 【Hpcstudy】みんな、ベンチマークどうやってるの?

例:とあるHBaseのベンチマーク

実際にディスクに書いてるの?fsync?

ネットワーク通信の回数は?

JVMヒープとOS管理メモリの使い分けは?

それぞれの操作にかかった時間はどうやってわかる?

負荷を掛けきれる?

http://www.slideshare.net/sechiro/osc2012-spring-hphbasereport

1GbEだとスループットとRTTは?

知りたいのは基本性能

Page 9: 【Hpcstudy】みんな、ベンチマークどうやってるの?

取得すべき情報を明確に● どの情報を取るのか?

● 基本的には取れる情報はすべて取る– sar -A とか ps aumx?とか– あとからは取り返せない

● 情報取得のオーバーヘッドはほとんど性能に影響を与えない

● 各部分の性能がどの性能情報から判断できるかを確認して、網羅性を確認する

● 必要な情報収集はスクリプト化、ツール化して自動化すべし– 実行後、結果をExcelに貼るだけの状態に– 設定含めエビデンスはすべて自動収集– 人手が入ると時間がかかり、信頼性も落ちる

Page 10: 【Hpcstudy】みんな、ベンチマークどうやってるの?

例:とあるHBaseのベンチマーク

OSレイヤはsarや/procから

HBaseレイヤはHBaseのメトリクス

HDFSレイヤはHadoopのメトリクス

JVMヒープやGCはメトリクスとログから

応答時間、スループットクライアントでもsarとか

を一緒に取る

プロセスごとの値はpsやtopから

http://www.slideshare.net/sechiro/osc2012-spring-hphbasereport

Page 11: 【Hpcstudy】みんな、ベンチマークどうやってるの?

そんなツールで大丈夫か?● ベンチマークツールを疑う

● ベンチマークツールのソースを読む

● ツールが何を測定しているのか確認

● それが自分のベンチマークの目的に適っているのかを検討

● ちゃんと見ないと求めていたものと違う結果が出てしまう

Page 12: 【Hpcstudy】みんな、ベンチマークどうやってるの?

分析・レポート● 分析・レポートはどうするの?

● Excel万能説– 一次集計をCSVで出力して貼り付け– あとからいろいろ解析できる

● 定形のグラフを出すだけでよいなら”gnuplot”も便利– 設定ファイルつくるのが手間– 作ってしまえば、一気に大量のグラフを作って、HTMLに埋め込んで閲覧・レポート化まで自動化できる

– 最新版を自分でビルドすべし● sar のデータをみるなら”kSar”とかもよいらしい

Page 13: 【Hpcstudy】みんな、ベンチマークどうやってるの?

まとめ● ベンチマークは計画と準備が重要

● ちゃんとやらないと使えないデータばかりになってしまう。

● 性能値の正当性を感覚的に理解できていると、インフラエンジニア的にはかっこいい

● ベンチのノウハウは聞く機会が少ないので、みなさんがどのようにやっているのか聞いてみたい

Page 14: 【Hpcstudy】みんな、ベンチマークどうやってるの?

ありがとうございました!