Hiroki Yamauchi
2022-10-05LIVEサーバ開発チーム
こんにちは、LINE LIVEのサーバーサイドの開発を行なっているLIVEサーバー開発チームでインターンに参加させていただいている山内です。
今回は6週間の就業型インターンに参加させていただき、負荷テスト環境の非同期処理周りの環境構築と、それに依存した負荷テストシナリオを追加して実際にパフォーマンス計測を行いました。
背景
LINE LIVEではCarlosというツールで負荷テストを実行しており、その負荷テスト専用の環境を持っています。
しかしその負荷テスト環境はIMF Kafkaのcousumerが独立しておらず、alpha/beta環境(開発環境)のconsumerを共有しています。
そのため、consumerに依存した負荷テストが実行できないという問題があり、負荷テスト用のconsumerを用意したいという背景がありました。
consumerの概要
LINE LIVE では、定期的なバッチ処理や、ピーク時大量発生の恐れがあるが即時性は求めない処理については、IMF Kafka を使って非同期処理で対応しています。
consumer は次の図の message を pull して処