Upload
seiichiro-ishida
View
2.285
Download
3
Embed Size (px)
DESCRIPTION
#hpcstudy のLT資料です。
Citation preview
みんな、ベンチマークどうやってるの?
サーバ擬人化ユーザ会@sechirohttp://d.hatena.ne.jp/sechiro/
自己紹介● Twitter ID: @sechiro
● サーバ擬人化ユーザ会● サーバ擬人化エバンジェリスト
● 主な仕事● ざびたん● パスワードの擬人化● インフラエンジニア双六● 新人インフラエンジニア向けメイド喫茶紹介
● 昼の仕事は便利屋SEざびたん2 護&サチ
本日のお題● みんな、ベンチマークどうやってるの?● ベンチマークはみんなやってるはずなのに、どうやってるのかという話を聞く機会が少ない
● 世の中のベンチマーク結果は玉石混交…
● なので、自分が意識している点をお話ししてみたい
● 今回は「計画と準備」を中心に
コンテンツ● ベンチマークの計画を立てる● ベンチマークの対象を知る● 取得すべき情報を明確に● ベンチマークツールの選定● 分析・レポート
ベンチマークの計画を立てる● 何のベンチマークを取るの?
● HW性能?● アプリ性能?● ボトルネック解析?● プロダクト比較?
● 目的が違うと、やるべきことが全然違ってくる
目的別戦略● HW性能?
● TPCとかほかと比較できる一般的な基準を採用● アプリ性能?
● 基礎的なスコア?– 応答性能 → 応答時間がちゃんと取れるツール– スループット → スループットをちゃんとカウントするツール– 処理時間 → 時間をちゃんと計測、timeコマンドでもおk– チューニングはせず、基本設定のみがベター
● 最大性能?– チューニングの限界に挑戦 → 多少の無茶はおk
● ボトルネック解析?● 既存のログを解析して戦略を立てることから
● プロダクト比較?● 観点とベンチマークの条件を明確にする● 内容次第では、一方的な結果になりがち
● いずれにしてもリソース使用状況は必ず取得する● そうしないと結果の妥当性が担保できない
ベンチマーク対象を知る● ベンチマーク対象のアーキテクチャを把握する● 何を計測しているのかを明確に● 開始当初はおおざっぱでもよい
– ベンチマークしてみてわかることもある
– 少なくとも分析のたたき台は必須● アーキテクチャから最大性能を概算できているとよい
例:とあるHBaseのベンチマーク
実際にディスクに書いてるの?fsync?
ネットワーク通信の回数は?
JVMヒープとOS管理メモリの使い分けは?
それぞれの操作にかかった時間はどうやってわかる?
負荷を掛けきれる?
http://www.slideshare.net/sechiro/osc2012-spring-hphbasereport
1GbEだとスループットとRTTは?
知りたいのは基本性能
取得すべき情報を明確に● どの情報を取るのか?
● 基本的には取れる情報はすべて取る– sar -A とか ps aumx?とか– あとからは取り返せない
● 情報取得のオーバーヘッドはほとんど性能に影響を与えない
● 各部分の性能がどの性能情報から判断できるかを確認して、網羅性を確認する
● 必要な情報収集はスクリプト化、ツール化して自動化すべし– 実行後、結果をExcelに貼るだけの状態に– 設定含めエビデンスはすべて自動収集– 人手が入ると時間がかかり、信頼性も落ちる
例:とあるHBaseのベンチマーク
OSレイヤはsarや/procから
HBaseレイヤはHBaseのメトリクス
HDFSレイヤはHadoopのメトリクス
JVMヒープやGCはメトリクスとログから
応答時間、スループットクライアントでもsarとか
を一緒に取る
プロセスごとの値はpsやtopから
http://www.slideshare.net/sechiro/osc2012-spring-hphbasereport
そんなツールで大丈夫か?● ベンチマークツールを疑う
● ベンチマークツールのソースを読む
● ツールが何を測定しているのか確認
● それが自分のベンチマークの目的に適っているのかを検討
● ちゃんと見ないと求めていたものと違う結果が出てしまう
分析・レポート● 分析・レポートはどうするの?
● Excel万能説– 一次集計をCSVで出力して貼り付け– あとからいろいろ解析できる
● 定形のグラフを出すだけでよいなら”gnuplot”も便利– 設定ファイルつくるのが手間– 作ってしまえば、一気に大量のグラフを作って、HTMLに埋め込んで閲覧・レポート化まで自動化できる
– 最新版を自分でビルドすべし● sar のデータをみるなら”kSar”とかもよいらしい
まとめ● ベンチマークは計画と準備が重要
● ちゃんとやらないと使えないデータばかりになってしまう。
● 性能値の正当性を感覚的に理解できていると、インフラエンジニア的にはかっこいい
● ベンチのノウハウは聞く機会が少ないので、みなさんがどのようにやっているのか聞いてみたい
ありがとうございました!