エラーとレスポンスコード
一般的なヒント
- 負荷テストやパフォーマンステストを実行する前に、負荷テスト対象のURLが稼働しており公開されていることを確認してください
- HTTPメソッドを確認してください(GETはブラウザがWebサイトやAPIエンドポイントにアクセスする際に行うリクエストです)
- 少数のクライアント(25-50クライアント)から開始して、エラー数を確認してください
- クライアント数を徐々に増やして、API、Webサイト、またはWebアプリの動作を理解してください
- 各テストのTime、Latency、Hits、Throughput、Errorsを確認して、システムのパフォーマンスをチェックしてください
3xxレスポンスコード(リダイレクト)
- 負荷テスト用に追加したURLが別のURLにリダイレクトを行っている場合
- リダイレクトをテストしている場合は、リダイレクト終了後の最終URLで負荷テストを行ってください
- リクエストのリダイレクトを避け、追加したURLで負荷テストを行いたい場合は、URLの横にある「Follow redirects」チェックボックスを外してください
4xxレスポンスコード(クライアントサイドエラー)
- URLが正しく、公開されていること
- 使用しているHTTPメソッドを確認してください:GET、POST、PUT、またはDELETE(GETはブラウザがWebサイトやAPIエンドポイントにアクセスする際に行うリクエストです)
- リクエストヘッダー、Cookie、クエリパラメータ、またはBasic HTTP認証パラメータが正しく設定されていること
5xxレスポンスコード(サーバーサイドエラー)
- レスポンスコード。通常、負荷テスト対象のAPI、Webサイト、Webまたはモバイルアプリケーションが負荷を適切に処理できない場合、503 Service Unavailableのレスポンスを受け取り始めます。
- 負荷テストのクライアント数(同時ユーザー数)を減らして、システムの限界を確認してください
LoadFocus負荷テストツールを使用してクラウドでWebサイトやAPIの負荷テストを行う方法の詳細については、負荷テストサービスまたはJMeter負荷テストサービスをご覧ください。
レスポンスコード(完全な一覧)
(w3schools.com)[https://w3schools.com]によると、API エンドポイント、Webサイト、Webおよびモバイルアプリケーションの負荷テスト実行時に返される可能性のあるHTTPステータスメッセージの一覧は以下の通りです:
1xx:情報
- 100 Continue サーバーがリクエストヘッダーを受信し、クライアントはリクエストボディの送信を続行すべきです
- 101 Switching Protocols リクエスターがサーバーにプロトコルの切り替えを要求しました
- 103 Checkpoint 中断されたPUTまたはPOSTリクエストを再開するための再開可能リクエスト提案で使用されます
2xx:成功
- 200 OK リクエストは正常です(成功したHTTPリクエストの標準レスポンス)
- 201 Created リクエストが処理され、新しいリソースが作成されました
- 202 Accepted リクエストは処理のために受け入れられましたが、処理はまだ完了していません
- 203 Non-Authoritative Information リクエストは正常に処理されましたが、別のソースからの情報を返している可能性があります
- 204 No Content リクエストは正常に処理されましたが、コンテンツは返されません
- 205 Reset Content リクエストは正常に処理されましたが、コンテンツは返されず、リクエスターにドキュメントビューのリセットを要求します
- 206 Partial Content クライアントから送信されたrangeヘッダーにより、サーバーはリソースの一部のみを配信しています
3xx:リダイレクト
- 300 Multiple Choices リンクリスト。ユーザーはリンクを選択してその場所に移動できます。最大5つのアドレス
- 301 Moved Permanently リクエストされたページは新しいURLに恒久的に移動しました
- 302 Found リクエストされたページは一時的に新しいURLに移動しました
- 303 See Other リクエストされたページは別のURLで見つけることができます
- 304 Not Modified リクエストされたページが前回のリクエスト以降変更されていないことを示します
- 306 Switch Proxy 使用されなくなりました
- 307 Temporary Redirect リクエストされたページは一時的に新しいURLに移動しました
- 308 Resume Incomplete 中断されたPUTまたはPOSTリクエストを再開するための再開可能リクエスト提案で使用されます
4xx:クライアントエラー
- 400 Bad Request 不正な構文のため、リクエストを処理できません
- 401 Unauthorized リクエストは正当でしたが、サーバーがレスポンスを拒否しています。認証が可能だが失敗した、またはまだ提供されていない場合に使用されます
- 402 Payment Required 将来の使用のために予約されています
- 403 Forbidden リクエストは正当でしたが、サーバーがレスポンスを拒否しています
- 404 Not Found リクエストされたページは見つかりませんでしたが、将来再び利用可能になる可能性があります
- 405 Method Not Allowed そのページでサポートされていないリクエストメソッドでページにリクエストが行われました
- 406 Not Acceptable サーバーは、クライアントに受け入れられないレスポンスのみを生成できます
- 407 Proxy Authentication Required クライアントはまずプロキシで認証する必要があります
- 408 Request Timeout サーバーがリクエストを待っている間にタイムアウトしました
- 409 Conflict リクエストの競合のため、リクエストを完了できませんでした
- 410 Gone リクエストされたページはもう利用できません
- 411 Length Required "Content-Length"が定義されていません。サーバーはそれなしでリクエストを受け入れません
- 412 Precondition Failed リクエストで指定された前提条件がサーバーによってfalseと評価されました
- 413 Request Entity Too Large リクエストエンティティが大きすぎるため、サーバーはリクエストを受け入れません
- 414 Request-URI Too Long URLが長すぎるため、サーバーはリクエストを受け入れません。長いクエリ情報を持つPOSTリクエストをGETリクエストに変換した場合に発生します
- 415 Unsupported Media Type メディアタイプがサポートされていないため、サーバーはリクエストを受け入れません
- 416 Requested Range Not Satisfiable クライアントがファイルの一部を要求しましたが、サーバーはその部分を提供できません
- 417 Expectation Failed サーバーがExpectリクエストヘッダーフィールドの要件を満たすことができません
5xx:サーバーエラー
- 500 Internal Server Error より具体的なメッセージが適切でない場合の汎用エラーメッセージ
- 501 Not Implemented サーバーがリクエストメソッドを認識しないか、リクエストを処理する能力がありません
- 502 Bad Gateway サーバーがゲートウェイまたはプロキシとして動作し、上流サーバーから無効なレスポンスを受信しました
- 503 Service Unavailable サーバーは現在利用できません(過負荷またはダウン中)
- 504 Gateway Timeout サーバーがゲートウェイまたはプロキシとして動作し、上流サーバーからタイムリーなレスポンスを受信しませんでした
- 505 HTTP Version Not Supported サーバーがリクエストで使用されたHTTPプロトコルバージョンをサポートしていません
- 511 Network Authentication Required クライアントはネットワークアクセスを得るために認証する必要があります
その他:接続エラー
負荷テスト用に追加されたURLに以下のいずれかの理由でアクセスできませんでした:
- URLが公開されていない(インターネット経由で公開アクセス可能なURLのみサポートしています)
- 何らかの理由でシステムがクラッシュした