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

Rallyで支えるバージョン追従

 Rallyで支えるバージョン追従

第51回 Elasticsearch勉強会 LT大会

Kazuma Arimura

December 14, 2022
Tweet

More Decks by Kazuma Arimura

Other Decks in Programming

Transcript

  1. Rallyで試すパフォーマンスチューニングの
    ベストプラクティス[email protected]
    第51回 Elasticsearch JP
    @pakio

    View Slide

  2. 注意:すべて手元で計測したデータであることをご了
    承ください

    View Slide

  3. 効果のあったものをランキング形式でご紹介
    参考
    Tune for search speed
    Tune for indexing speed

    View Slide

  4. 第3位

    View Slide

  5. 第3位
    refresh_interval
    ref: Tune for indexing speed
    デフォルトで1sとなっているrefresh_intervalを適切
    な値に設定
    (下記は10sの例)
    track: metricbeat
    track: nested

    View Slide

  6. 第2位

    View Slide

  7. 第2位
    Search rounded
    date
    ref: Tune for search speed
    range queryで指定する
    nowやtimestampを丸める
    track: metricbeat

    View Slide

  8. 第1位

    View Slide

  9. 第1位
    Update to latest
    ver.
    Elasticsearchのバージョンを最新に保ちましょう

    View Slide

  10. v7.17.8
    vs
    v8.5.3
    Indexing Performance
    track: metricbeat
    track: nested

    View Slide

  11. v7.17.8
    vs
    v8.5.3
    SearchPerformance
    track: metricbeat
    track: nested

    View Slide

  12. Rallyで試すパフォーマンスチューニングの
    ベストプラクティス[email protected]
    第51回 Elasticsearch JP
    @pakio

    View Slide

  13. Rallyで試すパフォーマンスチューニングの
    ベストプラクティス[email protected]
    第51回 Elasticsearch JP
    @pakio

    View Slide

  14. Rallyで支えるバージョン追従
    第51回 Elasticsearch JP
    @pakio

    View Slide

  15. Rallyとは?

    View Slide

  16. Rallyとは?
    ● ベンチマーク用クラスタのセットアップ
    ● バージョンをまたいでのベンチマーク管理
    ● ベンチマークの履歴管理
    ● telemetry devicesを用いたボトルネック計測
    ● 複数ベンチマーク結果の比較

    View Slide

  17. Rallyとは?
    ● ベンチマーク用クラスタのセットアップ
    ● バージョンをまたいでのベンチマーク管理
    ● ベンチマークの履歴管理
    ● telemetry devicesを用いたボトルネック計測
    ● 複数ベンチマーク結果の比較

    View Slide

  18. バージョン追従
    のハードル ● バージョンアップのノウハウがない
    ● パフォーマンスに懸念がある
    ● クエリがそのまま動くかわからない

    View Slide

  19. バージョン追従
    のハードル ● バージョンアップのノウハウがない
    ● パフォーマンスに懸念がある
    ● クエリがそのまま動くかわからない

    View Slide

  20. benchmark trackを作る

    View Slide

  21. benchmark track
    を作る
    ① データの取得
    既存のデプロイメントからのデータ取得に対応

    View Slide

  22. benchmark track
    を作る
    ② クエリを保存
    サービスのクエリログなどから、任意のクエリを抽出し track内に
    保存

    View Slide

  23. benchmark track
    を作る
    ③ クエリを呼び出し
    track.pyにqueriesからランダムにクエリを抽出するスクリプトを記
    述、track.jsonで呼び出し

    View Slide

  24. benchmark track
    を作る
    ④ 󰝊󰝊󰝊
    👍

    View Slide

  25. バージョン追従
    のハードル ● バージョンアップのノウハウがない
    ● パフォーマンスに懸念がある
    ● クエリがそのまま動くかわからない

    View Slide

  26. まとめ ● パフォーマンス改善の一歩目としてバージョン
    アップはオススメ
    ● Rallyを使って定量評価しましょう

    View Slide