uzullaがブログスマートフォン用の表示で見るuzullaがブログuzullaがブログです。2016-09-19ISUCONでベンチをするたびに、Slackに集計を張り付ける件みなさんのISUCONの参戦エントリを楽しく読みつつ、心にはダメージを負っているuzullaです、こんにちは。一週間くらい後に読もうかな。一昨日のISUCONでは繰り返しnginxのクエリやDBのクエリ解析結果をみていました。そこらへんを毎回手で叩くと大変だし、ファイルのシェアも面倒なので、解析したらそのままSlackにはりつけていました。その作業は半分くらい自動化されており、そのメモです。使ったツール(一部)alppt-query-digestslackcatgithub.comalpについては皆さんご存じかもですが、LTSV形式のログをよしなに集計してくれるツールです。このツールで強いのは、/keyword/hogeと/keyword/ugoといった最近のバラけるURLを正規表現でまとめる事ができる事ですね。アクセス回数やアクセス平均時間などを確認するためにつかいました。logを集計してくれる君です。これは回数や、合計でかかった時間を特に重視していました。(ところでmysqldumpslowがここ最近バグってて集計がおかしいんですが直って欲しいですね)github.comslackcatは、指定したチャンネルにファイルをULしてくれる君です。いうツールは結構あるけどslackcatはシンプルでよかった。これらを組み合わせることで、「計測開始」「ベンチ回す」「集計」「Slackにポスト」ができます。slackcatはデプロイ通知とかにも使えますので、その用途にもおすすめです。やるか素直にシェルスクリプトでいいんじゃないですかね。必要に応じて、他の集計もやったりする後で集計をみかえしたくなるかもしれないので、一応毎回ファイル名は日時を振った。このように非常に原始的な手法なのだけれど、原始的がゆえにその場で修正しやすく、たとえばalpのaggregatesをへらしたパターンもつくったりできる。(今回だと、keywordのかたよりをみるために、一部のマッチを削ったりした)pt-query-digestのフィルタはなかなか色々な機能があって、バカでかいクエリは(初期化とかでよくある)捨てるとか、マッチしたものだけをひっぱる、とかもできるのがよい(というかやらないとつらい)。limitは指定しないと集計除外されるクエリがでてくるので、全部出すように指定している。(ところで、現実世界でmysqlコマンドの引数でパスワード指定とか正気ではないが、まあISUCONだからね!!!)なお、UbuntuはAppArmorがあるので、デフォだとMysqlのスロークエリログを/tmp/に出力できない。別にここに出力される意味はないのだが、/tmpを使いたいならDisableしましょう。Apparmorをaptで消すとmysqlごと消えるらしい、まじか。うろおぼえだが、こうやります。適当にググると大抵古い情報か嘘がみつかりますので、まあ公式ドキュメントをみましょう。消し忘れ怖いので、nginxのログも再起動したらオフになる仕組みがほしいとおもった。環境変数つかえばできるかな(すくなくともApacheではできるのだが、nginxだとあんまりしらべてない、次回までにはやるかな)Slackにポストされたでっかいテキストファイルは割と見づらい。集計結果は横幅がでかくなりがち。いえ外部のPasteBinに貼れば解決するかってそんな感じでもない(結局、ブラウザを開くので)。「あるベンチ結果の集計結果をタブでみれるPastebin」みたいなのがあればいいかな〜っておもったけど、割と良い感じではない。過去のベンチとの比較とかも考えられるけど、それは実際使わんやろ...と思って作らず。昨今のISUCONではベンチマーカーがウェブで、スコアもブラウザにでるので終了検知が面倒(今回は手作業だった)。ローカルベンチだとなにもかんがえなくていいのだが。alpの出力そのままだと、keywordの後につづく日本語の文字がパーセントエンコーディングになってて見づらい。ここはもう一段フィルタをいれて人がよめるようにすべき。(終わった今なら、それが重要だったと気付く)SlackにはりつけるとどんどんSlackが荒れるので、Chをわけるか、GHのISSUEに専用のスレをたてるべきか、とおもっている。プレインテキストは目が滑るので、出力された集計結果の注目すべき所の文字を赤くしたいなとおもった。まとめまあ石器時代みたいな手法ですが、普段やっていること以外をやると事故るので...。いったタレは当日につくるのは無駄なので、是非とも事前の練習の時につくるべきですね。18:23ISUCONでベンチをするたびに、Slackに集計を張り付ける件Tweet広告を非表示にする関連記事2017-10-22ISUCON7にチーム「common.php」で出場しました。このエントリでは、AzureとそのAppServiceが提供す...2015-09-28ISUCONでした今年もISUCON!!!!!!!!!!!ISUCONがなんであるかは以...2014-09-29石田組でISUCON参加しましたぞ!!!(二日目組です)参加したことありそうといわれましたが、実際の所初参加です。昨日CROSS2014でしたね、たのしかったですね。»プロフィールid:uzullauzullaがブログです。参加してきました!月別アーカイブ参加グループWindows開発者はてなブログをはじめよう!uzullaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。