【シェルスクリプト】連続で処理を実行したい(for)負荷テストはこれで行けるぞ

同じAPIを何回も実行したい…

同じリクエストを連続で投げたい…

負荷チェックを行う時にこんなこと思うでしょう

今回は100回連続で同じリクエストを実行するシェルファイルを作成してみます

#!/bin/bash

# リクエストを送るAPIのURL
API_URL="https://api.example.com/endpoint"

# 必要に応じて、POSTデータやヘッダーを設定
POST_DATA='{"key":"value"}'
HEADER="Content-Type: application/json"

# 100回リクエストを送るループ
for i in {1..100}
do
  # リクエストを送信
  curl -X POST -H "$HEADER" -d "$POST_DATA" $API_URL
  echo "Request $i sent."
  
  # 必要なら少し待機 (例えば1秒待機する場合)
  # sleep 1
done

説明していきます

  1. API_URL: 送信先のAPIのURLで、ご自身のAPIのエンドポイントに変更してください
  2. POST_DATA: リクエストのペイロードで、ここではJSON形式のデータを送っていますが、必要に応じて変更してください
  3. HEADER: APIに送るヘッダー情報で、ここでは Content-Type ヘッダーに application/json を設定しています
  4. for i in {1..100}:」 100回ループを回す部分で、100回連続してリクエストを送ります
  5. curl: 実際にリクエストを送るコマンドで、-X POST はPOSTリクエストを意味しますが、GETリクエストの場合はオプションが不要です

もし、リクエストを送る間に待機時間を入れたい場合、sleep コマンドを使ってリクエストの間隔を調整することもできます

このシェルスクリプトを作成して実行することで、簡単な負荷テストが行えます

是非フォローしてください

最新の情報をお伝えします