>100 Views
October 19, 16
スライド概要
Cassandraにおけるスロークエリ検知機能の概要と、マージに至る経緯の説明です。
弊社で先日開催させていただいた、Cassandra meetup
http://datastaxjp.connpass.com/event/41068/
にて行ったプレゼンの資料です。
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
SlowQueryログ 開発秘話 2016年10月19日 ヤフー株式会社 データ&サイエンスソリューション統括本部 開発3部NoSQL 星井 祥吾
自己紹介 - 2011年ヤフー中途入社 - 広告関連部署で4年ほど開発 とPM業務に従事 - 2015年10月よりCassandra運 用チームに参画 - クラスタ構築自動化推進担当 - Cassandraコントリビュータ - 趣味: 庭仕事、風景写真 水泳、TVゲーム PSN ID: kobuchizawa0102 (フレンド申請お願いします) 2
アジェンダ - SlowQueryログ概要 - パッチがマージされるまで - まとめ 3
SlowQueryログ 概要
SlowQueryログ概要 プロダクトエンジニア (システム) Slow query 5 マルチテナント式 クラスタ NoSQLチーム ?
SlowQueryログ概要 - V.3.10から利用可能 - レプリカノード側でログ出力される - NW遅延の影響を切り分ける - slow_query_log_timeout_in_ms を超 えた実行時間のクエリがdebug.logに 出力される - 5分おきに出力される - 詳細はJIRAチケットへ - https://issues.apache.org/jira /browse/CASSANDRA-12403 6
吉報 - oranieさんのブログにてご紹介いた だきました - http://oranie.hatenablog.com/entry /2016/09/01/205436 - 上記ブログより抜粋 - この機能は自分も運用時に待 望していた機能でもありました ので、今Cassandraを運用して いる方はリリースされたらアッ プデートをする事により、より素 晴らしいCassandra運用ライフ を送れるのではないでしょうか。 7
パッチがマージされるまで
CASSANDRA-6226 - - 起票日: 2013年10月 提案内容: MySQLと同様のSlowQueryログ機能がCassandraにも欲しい クエリのトレーシングでは代用できない スローでないクエリにも効いてしまうので チェアマンの回答 Tracing works fine at 0.1% or similar. (サンプリング率0.1%くらいのトレーシングで同様のことができ る) -> 不慣れなユーザがアドホックに投げたクエリなど、 少数を捉えることができない 9 https://issues.apache.org/jira/browse/CASSANDRA-6226
CASSANDRA-7392 - 10 起票日: 2014年6月 完了日: 2015年9月 提案内容: 実行に時間がかかっているクエリは、実行中でも処理を落とす 課題点 「タイムアウト時間内に実行はできているが、遅いクエリ」 を検知できない 遅いクエリを抽出するためにタイムアウト時間を短くすると、 ユーザ影響が出る
事前確認 - SlowQueryログはDSEにもある機能だが、OSSのほうに実装しても問 題はないか? 弊社とDatastax社様の定例にて、問題ないという回答をいただく (DSEに有ってOSSに無い機能でも、どんどんパッチを送ってよ い!) 画像:アフロ 11
CASSANDRA-12403 - - 起票日: 2016年8月 提案内容: 実行に時間がかかっているクエリをログに出す ユーザ定義データモデルに問題があるなど、運用者がユーザ にアドバイスをするための参考情報の追加として提案 備考 実装はCASSANDRA-7392を参考に実施 レビュアーは、CASSANDRA-7392の実装を担当されていた Stefania氏 最初のパッチではコーディネータノードでのログ出力をしてい たが、 レビュアーのアドバイスに従い、レプリカノードでの出力に変更 チケット起案からresolvedまで10日間 Thanks! 12
裏話 - 事前に、Cassandra関連カンファレンスで、 レビュアーと挨拶をしていた 提出後は、他の業務を止めてスピーディにレビュー結果反映実施 議論が紛糾する前にマージしてもらえた 画像:アフロ 13
まとめ
まとめ - パッチ提出後はそのチケットに張り付いて対応した方がマージされ る確率が上がりそう(鉄は熱いうちに打て) コードの質だけではなくて、人間関係も大事 画像:アフロ 15
EOP ご静聴ありがとうございました 16