Quantcast
Channel: 日々の覚書
Viewing all articles
Browse latest Browse all 581

slow_query_log / long_query_time / log_output でどれくらい違うかベンチマークその1

$
0
0

TL;DR

  • 特に何の結論もまだ出ていないベンチマーク
    • スローログをテーブルに吐かせるのって現実的かどうかを見たかっただけ
  • --threads=3なのでもうちょっと並列性を上げないと本番向きではない
  • ジェネラルログファイル吐かせるのとスロークエリログ全部吐かせるのは同じくらい性能劣化するよなあと思ってた(どっちもmutexは1つしかないから)けどこれくらいだと差はよくわからない
  • CSVストレージエンジン遅い…ファイルサイズを大きくしていくともっと遅くなるかも?

久しぶりにベンチマーク取った。

ベンチマーク元: 8 CPUスレッド / 16GB Memory
ベンチマーク先: 2 CPUスレッド / 4GB Memory / 128MB buffer_pool / 10テーブルで100MB ibd (でも実際には42MBくらいしかバッファプールに載ってないので空きページはあるはず)

コマンド:

sysbench --mysql-host=bench --mysql-user=sbtest --mysql-password="sbtest" oltp_point_select --tables=10 --threads=3 --time=300 run --report-interval=1

メトリクスとサマリ:

slow_query_loglong_query_timegeneral_loglog_outputoltp_point_select_QPSmemo
OFF10OFFFILE11228.18なにもログ出力ない状態
OFF10ONFILE10629.95ジェネラルログファイル
OFF10ONTABLE9633.38ジェネラルログテーブル
ON10OFFFILE10714.53スローログファイル有効だけど実質何も書かない
ON0OFFFILE10900.19来たクエリ全部スローログファイル
ON0OFFTABLE10279.01来たクエリ全部スローログテーブル

左の山から順に「何もログ出力ない」「ジェネラルログファイル」「ジェネラルログテーブル」「スローログ有効だけど実質何も書かない」「全部スローログファイル」「全部スローログテーブル」

  • performance_schema的にはcsv_readとcsv_writeが載ってるっぽい。だとするとサイズが大きくなるとオーバーヘッド載る?

  • iowaitは無視できる程度


Viewing all articles
Browse latest Browse all 581

Trending Articles