Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ISUCONでログの可視化と分析をやってみた話

nagatech
March 27, 2022

 ISUCONでログの可視化と分析をやってみた話

2022/03/27 #traP_LT にて発表
https://connpass.com/event/242713/

nagatech

March 27, 2022
Tweet

More Decks by nagatech

Other Decks in Technology

Transcript

  1. @nagatech 2022 年03 月27 日( 日) traP LT 2022 ISUCON

    でログの分析と可視化を やってみた話 2022/03/27 traP LT 2022 #traP_LT
  2. nagatech( ながてち) Twitter: @_nagatech ex-traQ サーバー管理者 4 月から社会人3 年目 都内でサーバーエンジニアやってます

    最近DJ 始めました Twitch(@nagatea_p) で配信してる フォローしてくれ!!! 自己紹介 2022/03/27 traP LT 2022 #traP_LT
  3. ISUCON とは ISUCON 8, 9 は本選出場 ISUCON 10, 11 は予選落ちました

    お題となるWeb アプリケーションを時間内にいかに高速化できるか を競うコンテスト 高速化手法は( レギュレーションを守れば) なんでもやっていい 1 〜3 人1 チームで600 チーム予選参加→30 チームが本戦出場 2022/03/27 traP LT 2022 #traP_LT
  4. myprofiler をイメージして作成 fluentd のnata2 プラグインを使 用して収集 データを正規表現で置換して 定量化 MySQL スロークエリログの分析

    例: SELECT * FROM isu_condition WHERE jia_isu_uuid = "hoge" LIMIT 10 → SELECT * FROM isu_condition WHERE jia_isu_uuid = S LIMIT N 2022/03/27 traP LT 2022 #traP_LT
  5. 環境のセットアップ 分析側( ながてちサーバー) docker で「elasticsearch 」と 「kibana 」のイメージを立ち 上げる ログ送信側(

    競技サーバー) fluentd とプラグインをインストール 各サーバーに設定ファイルを配置 事前に仕込んでおいたMakefile でコマンド一発 2022/03/27 traP LT 2022 #traP_LT
  6. デモンストレーション システムとデータがまだ残ってたので実際に動かしながら ISUCON 11 初回ベンチマークの様子を見せたいと思います お題のWeb アプリケーション IoT デバイス記録& 閲覧アプリ「ISUCONDITION

    」 ISU のコンディションを記録するWeb サービス IoT デバイスから送られてくるデータとトレンドの閲覧を いかに捌くかがポイントだった 2022/03/27 traP LT 2022 #traP_LT
  7. 原因その1 Ubuntu20.04LTS で apt でインストールできるdstat で dstat --output log.csv がエラーで実行できない

    isucon@ip-192-168-0-11:~$ dstat --output tmp.csv You did not select any stats, using -cdngy by default. Traceback (most recent call last): File "/usr/bin/dstat", line 2847, in <module> main() File "/usr/bin/dstat", line 2687, in main scheduler.run() [.. 省略] if isinstance(self.val[name], types.ListType) or isinstance(self.val[name], types.TupleType): NameError: name 'types' is not defined 2022/03/27 traP LT 2022 #traP_LT
  8. 原因その2 dstat --output log.csv がプロセスを終了するまで log.csv に結果を書き込まないようにコードが変更されていた 結論として dstat のバグだった

    システムを構築した際に気づかなかったのは、ISUCON 10 予選 のイメージ(Ubuntu18.04LTS) で検証していたため dstat のバージョンが違う そしてdstat は開発が終了している... 直そうにも無理 後継は直っているぽいがプラグインが依存している... 2022/03/27 traP LT 2022 #traP_LT