ข้อผิดพลาดและ Response Codes

เคล็ดลับทั่วไป

  • ตรวจสอบว่า URL ที่ทดสอบโหลดพร้อมใช้งานและเข้าถึงได้สาธารณะก่อนรันการทดสอบโหลดหรือประสิทธิภาพใดๆ
  • ตรวจสอบ HTTP method (GET คือ request ที่เบราว์เซอร์ส่งเมื่อเข้าเว็บไซต์หรือ API endpoint)
  • เริ่มต้นด้วยจำนวนไคลเอนต์น้อย (25-50 ไคลเอนต์) และตรวจสอบจำนวนข้อผิดพลาด
  • พยายามเพิ่มจำนวนไคลเอนต์ทีละน้อยเพื่อทำความเข้าใจว่า API เว็บไซต์ หรือ WebApp ของคุณทำงานอย่างไร
  • ตรวจสอบ Time, Latency, Hits, Throughput และ Errors สำหรับแต่ละการทดสอบเพื่อตรวจสอบประสิทธิภาพของระบบ

Response codes 3xx (การเปลี่ยนเส้นทาง)

  • หาก URL ที่เพิ่มสำหรับการทดสอบโหลดมีการ redirect ไปยัง URL อื่น
  • หากคุณกำลังทดสอบการเปลี่ยนเส้นทาง ให้ทดสอบโหลดบน URL สุดท้ายหลังจากการ redirect สิ้นสุด
  • ยกเลิกเครื่องหมาย "Follow redirects" ข้าง URL หากคุณต้องการหลีกเลี่ยงการเปลี่ยนเส้นทาง requests และทดสอบโหลดบน URL ที่เพิ่ม

Response codes 4xx (ข้อผิดพลาดฝั่งไคลเอนต์)

  • URL ถูกต้องและเข้าถึงได้สาธารณะ
  • ตรวจสอบ HTTP Method ที่ใช้: GET, POST, PUT หรือ DELETE (GET คือ request ที่เบราว์เซอร์ส่งเมื่อเข้าเว็บไซต์หรือ API endpoint)
  • request headers, cookies, query params หรือ basic HTTP auth params ตั้งค่าถูกต้อง

Response codes 5xx (ข้อผิดพลาดฝั่งเซิร์ฟเวอร์)

  • response code โดยปกติหาก API, เว็บไซต์, แอปพลิเคชันเว็บหรือมือถือที่ทดสอบโหลดไม่สามารถจัดการโหลดได้อย่างเหมาะสม คุณจะเริ่มได้รับ 503 Service Unavailable responses
  • ลองลดจำนวนไคลเอนต์ (concurrent users) สำหรับการทดสอบโหลดและตรวจสอบขอบเขตของระบบ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีทดสอบโหลดเว็บไซต์และ APIs บนคลาวด์ด้วยเครื่องมือ LoadFocus Load Testing ดู Load Testing Service หรือ JMeter Load Testing Service

Response Codes (รายการทั้งหมด)

ตาม (w3schools.com)[https://w3schools.com] นี่คือรายการข้อความสถานะ HTTP ที่อาจส่งกลับเมื่อรันการทดสอบโหลดสำหรับ API Endpoints เว็บไซต์ แอปพลิเคชันเว็บและมือถือ:

1xx: ข้อมูล

  • 100 Continue เซิร์ฟเวอร์ได้รับ request headers แล้ว และไคลเอนต์ควรดำเนินการส่ง request body
  • 101 Switching Protocols ผู้ร้องขอได้ขอให้เซิร์ฟเวอร์สลับ protocols
  • 103 Checkpoint ใช้ในข้อเสนอ resumable requests เพื่อดำเนินการ PUT หรือ POST requests ที่ถูกยกเลิกต่อ

2xx: สำเร็จ

  • 200 OK คำขอสำเร็จ (นี่คือ response มาตรฐานสำหรับ HTTP requests ที่สำเร็จ)
  • 201 Created คำขอสำเร็จและทรัพยากรใหม่ถูกสร้างขึ้น
  • 202 Accepted คำขอได้รับการยอมรับสำหรับการประมวลผล แต่การประมวลผลยังไม่เสร็จสมบูรณ์
  • 203 Non-Authoritative Information คำขอได้รับการประมวลผลสำเร็จ แต่กำลังส่งข้อมูลที่อาจมาจากแหล่งอื่น
  • 204 No Content คำขอได้รับการประมวลผลสำเร็จ แต่ไม่มีเนื้อหาส่งกลับ
  • 205 Reset Content คำขอได้รับการประมวลผลสำเร็จ แต่ไม่มีเนื้อหาส่งกลับ และต้องการให้ผู้ร้องขอรีเซ็ตมุมมองเอกสาร
  • 206 Partial Content เซิร์ฟเวอร์ส่งเฉพาะส่วนหนึ่งของทรัพยากรเนื่องจาก range header ที่ไคลเอนต์ส่ง

3xx: การเปลี่ยนเส้นทาง

  • 300 Multiple Choices รายการลิงก์ ผู้ใช้สามารถเลือกลิงก์และไปยังตำแหน่งนั้น สูงสุดห้าที่อยู่
  • 301 Moved Permanently หน้าที่ร้องขอได้ย้ายไปยัง URL ใหม่ถาวร
  • 302 Found หน้าที่ร้องขอได้ย้ายไปยัง URL ใหม่ชั่วคราว
  • 303 See Other หน้าที่ร้องขอสามารถพบได้ภายใต้ URL อื่น
  • 304 Not Modified บ่งชี้ว่าหน้าที่ร้องขอไม่ได้ถูกแก้ไขตั้งแต่ครั้งสุดท้ายที่ร้องขอ
  • 306 Switch Proxy ไม่ใช้แล้ว
  • 307 Temporary Redirect หน้าที่ร้องขอได้ย้ายไปยัง URL ใหม่ชั่วคราว
  • 308 Resume Incomplete ใช้ในข้อเสนอ resumable requests เพื่อดำเนินการ PUT หรือ POST requests ที่ถูกยกเลิกต่อ

4xx: ข้อผิดพลาดไคลเอนต์

  • 400 Bad Request คำขอไม่สามารถดำเนินการได้เนื่องจาก syntax ไม่ถูกต้อง
  • 401 Unauthorized คำขอถูกต้องตามกฎหมาย แต่เซิร์ฟเวอร์ปฏิเสธที่จะตอบสนอง ใช้เมื่อสามารถยืนยันตัวตนได้แต่ล้มเหลวหรือยังไม่ได้ให้ข้อมูล
  • 402 Payment Required สงวนไว้สำหรับการใช้ในอนาคต
  • 403 Forbidden คำขอถูกต้องตามกฎหมาย แต่เซิร์ฟเวอร์ปฏิเสธที่จะตอบสนอง
  • 404 Not Found ไม่พบหน้าที่ร้องขอ แต่อาจมีให้บริการอีกครั้งในอนาคต
  • 405 Method Not Allowed คำขอถูกส่งไปยังหน้าด้วย request method ที่หน้านั้นไม่รองรับ
  • 406 Not Acceptable เซิร์ฟเวอร์สามารถสร้าง response ที่ไคลเอนต์ไม่ยอมรับเท่านั้น
  • 407 Proxy Authentication Required ไคลเอนต์ต้องยืนยันตัวตนกับ proxy ก่อน
  • 408 Request Timeout เซิร์ฟเวอร์หมดเวลารอคำขอ
  • 409 Conflict คำขอไม่สามารถดำเนินการได้เนื่องจากความขัดแย้งในคำขอ
  • 410 Gone หน้าที่ร้องขอไม่มีให้บริการอีกต่อไป
  • 411 Length Required "Content-Length" ไม่ได้กำหนด เซิร์ฟเวอร์จะไม่ยอมรับคำขอหากไม่มี
  • 412 Precondition Failed เงื่อนไขเบื้องต้นที่ให้ในคำขอถูกประเมินว่าเป็นเท็จโดยเซิร์ฟเวอร์
  • 413 Request Entity Too Large เซิร์ฟเวอร์จะไม่ยอมรับคำขอเพราะ request entity ใหญ่เกินไป
  • 414 Request-URI Too Long เซิร์ฟเวอร์จะไม่ยอมรับคำขอเพราะ URL ยาวเกินไป เกิดขึ้นเมื่อแปลง POST request เป็น GET request ที่มี query information ยาว
  • 415 Unsupported Media Type เซิร์ฟเวอร์จะไม่ยอมรับคำขอเพราะ media type ไม่รองรับ
  • 416 Requested Range Not Satisfiable ไคลเอนต์ขอส่วนหนึ่งของไฟล์ แต่เซิร์ฟเวอร์ไม่สามารถให้ส่วนนั้นได้
  • 417 Expectation Failed เซิร์ฟเวอร์ไม่สามารถตอบสนองข้อกำหนดของ Expect request-header field

5xx: ข้อผิดพลาดเซิร์ฟเวอร์

  • 500 Internal Server Error ข้อความข้อผิดพลาดทั่วไป เมื่อไม่มีข้อความเฉพาะเจาะจงที่เหมาะสมกว่า
  • 501 Not Implemented เซิร์ฟเวอร์ไม่รู้จัก request method หรือไม่มีความสามารถในการตอบสนองคำขอ
  • 502 Bad Gateway เซิร์ฟเวอร์ทำหน้าที่เป็น gateway หรือ proxy และได้รับ response ที่ไม่ถูกต้องจากเซิร์ฟเวอร์ต้นทาง
  • 503 Service Unavailable เซิร์ฟเวอร์ไม่พร้อมใช้งานในขณะนี้ (โอเวอร์โหลดหรือหยุดทำงาน)
  • 504 Gateway Timeout เซิร์ฟเวอร์ทำหน้าที่เป็น gateway หรือ proxy และไม่ได้รับ response ทันเวลาจากเซิร์ฟเวอร์ต้นทาง
  • 505 HTTP Version Not Supported เซิร์ฟเวอร์ไม่รองรับเวอร์ชัน HTTP protocol ที่ใช้ในคำขอ
  • 511 Network Authentication Required ไคลเอนต์ต้องยืนยันตัวตนเพื่อเข้าถึงเครือข่าย

อื่นๆ: ข้อผิดพลาดการเชื่อมต่อ

URL ที่เพิ่มสำหรับการทดสอบโหลดไม่สามารถเข้าถึงได้ด้วยเหตุผลใดเหตุผลหนึ่งต่อไปนี้: -- URL ไม่สามารถเข้าถึงได้สาธารณะ (เรารองรับเฉพาะ URLs ที่สามารถเข้าถึงได้สาธารณะผ่านอินเทอร์เน็ต) -- ระบบ crash ด้วยเหตุผลบางอย่าง