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

性能検証をAnsibleにお任せした話

 性能検証をAnsibleにお任せした話

2019/3/26 Ansibleもくもく会 (サーバ編)2019.03 in オイシックス・ラ・大地!での中原の講演資料になります

Avatar for Recruit Technologies

Recruit Technologies

March 26, 2019
Tweet

More Decks by Recruit Technologies

Other Decks in Technology

Transcript

  1. 自己紹介 中原 洋志 株式会社リクルートテクノロジーズ ITソリューション本部 インフラソリューション部 経歴 2011〜2017 独立系SIER -

    主に医療系の企画・営業を担当 2017/2〜 リクルートテクノロジーズ入社 - 社内インフラ企画を経て、1年前から商用インフラの運用を担当 最近のマイブーム ・Go ・ログ分析周り ・ Ansible 2 (C) Recruit Technologies Co., Ltd. All rights reserved.
  2. やろうとしていた事 ログ転送ツールの導入を検討するにあたって チューニングしつつ処理性能を測定しようとしていた 4 (C) Recruit Technologies Co., Ltd. All

    rights reserved. ログの処理件数 処理時間 パラメータ設定あり パラメータ設定なし 欲しかったのはよく見かけるこういうグラフ↓ ログ転送ツールの処理性能
  3. 必要だったステップ 必要だったのはこんな事をぽちぽちしていくだけの簡単なお仕事 5 (C) Recruit Technologies Co., Ltd. All rights

    reserved. Apacheログを生成 Apacheログを ログ転送ツールに投入 ログ転送ツールの パラメータを変える ログ転送ツールをrestart (パラメータ反映) ログ転送ツールの ログから処理時間を集計 ログ転送ツールの パラメータを元に戻す 古いApacheログを削除 ログ転送ツールをrestart (パラメータ反映) Start End
  4. 必要だったステップ …これを シナリオの数だけ 6 (C) Recruit Technologies Co., Ltd. All

    rights reserved. ※Vim(パラメータ変更&戻し)だけでも342回開きます Apacheログを生成 Apacheログを ログ転送ツールに投入 ログ転送ツールの パラメータを変える ログ転送ツールをrestart (パラメータ反映) ログ転送ツールのログ から処理時間を集計 ログ転送ツールの パラメータを元に戻す 古いApacheログを 削除 ログ転送ツールをrestart (パラメータ反映) Start End
  5. これを人力でやる? 7 (C) Recruit Technologies Co., Ltd. All rights reserved.

    (ヾノ・∀・`)ムリムリ 夜を徹しての長時間作業 よみがえる作業ミスのトラウマ なによりつまらない
  6. Ansibleとの出会い 8 (C) Recruit Technologies Co., Ltd. All rights reserved.

    でもスクリプトとか書けないしなー 手が空いている人もいないしなー と悩んでた時に出会ったのがこれ↓ マンガでわかるRed Hat Ansible Automation http://redhat.lookbookhq.com/jp_ansible_comic
  7. 9 (C) Recruit Technologies Co., Ltd. All rights reserved. ほうほう

    Ansibleとの出会い マンガでわかるRed Hat Ansible Automation http://redhat.lookbookhq.com/jp_ansible_comic
  8. 10 (C) Recruit Technologies Co., Ltd. All rights reserved. つまりこういう事か!

    性能に影響を及ぼすエージェントを入れずに 単調な作業を繰り返せる 性能検証にも使えるツール Ansibleとの出会い マンガでわかるRed Hat Ansible Automation http://redhat.lookbookhq.com/jp_ansible_comic
  9. 完成したもの その後色んな人々の助けを借りて こうなりました /- name: Run role per var include:

    metric-poc-role.yml with_items: - { log_amount: “1000”, var_before: “xxx_size : 512”, var_after: ”xxx_size: 1024” } - { log_amount: “1000”, var_before: “xxx_size : 512”, var_after: ”xxx_size: 2048” } ・・・・ - { log_amount: “10000”, var_before: “xxx_size : 512”, var_after: ”xxx_size: 1024” } loop_control: loop_var: rolevar パラメータを設定した分だけ ログ生成〜実行〜結果集計を 自動的にやってくれる /tasks/main.yml Number of Published Event: 10000 vars_before: xxx_size: 512 vars_after: xxx_size: 1024 Start Time: 2019-03-13T11:50:18.988 End Time: 2019-03-13T11:50:35.759 ・・・・ こんな感じで結果をログファイルに出力してくれる↓
  10. まとめ 15 (C) Recruit Technologies Co., Ltd. All rights reserved.

    1.とにかくお手軽 yumコマンド一発で導入できて、エージェントも要らない。 学習コストも低い。 2.再利用できて、汎用性が高い シナリオを変えたり、他の性能検証に使ってみたり。 もちろん性能検証以外にも! 3.ドキュメントが充実 公式ドキュメントはもちろん、先人の取組み(ネット記事)が充実。 迷ったらとりあえず導入してみよう Ansibleを性能検証に使うメリットはたくさんある (これもまだほんの一部)