วิธีแก้ WordPress ขึ้น 504 Gateway Timeout

ข้อความ “504 Gateway Timeout” หมายถึงเซิร์ฟเวอร์ตัวกลางรอคำตอบจากเซิร์ฟเวอร์เว็บไซต์นานเกินไป WordPress จึงแสดงหน้าเว็บไม่สำเร็จ สาเหตุอาจมาจากเซิร์ฟเวอร์ทำงานช้า ฐานข้อมูลตอบสนองล่าช้า งานเบื้องหลังใช้เวลานาน หรือ CDN ติดต่อเซิร์ฟเวอร์ต้นทางไม่ได้

หากเกิดเพียงครั้งเดียว ให้ลองเปิดหน้าเดิมอีกครั้งหลังผ่านไปสักครู่ แต่ถ้าเกิดซ้ำ ควรตรวจว่าปัญหาเกิดกับหน้าใดและช่วงเวลาใด ComSiam แนะนำให้เก็บ URL และเวลาที่พบไว้ก่อนเริ่มแก้ไข

❶ ตรวจสอบว่าปัญหาเกิดกับทั้งเว็บไซต์หรือบางหน้า

เปิดหน้าแรก หน้าอื่น และหน้าเข้าสู่ระบบ WordPress เพื่อดูว่าหน้าใดแสดง 504 หากเกิดเฉพาะหน้าที่มีการค้นหา รายงาน หรือประมวลผลข้อมูลจำนวนมาก อาจมีคำขอที่ใช้เวลานานกว่าปกติ

ลองทดสอบด้วยหน้าต่างไม่ระบุตัวตนหรืออุปกรณ์อื่นด้วย เพื่อแยกปัญหาจากเบราว์เซอร์หรือแคชออกจากปัญหาฝั่งเซิร์ฟเวอร์

❷ ตรวจสอบสถานะโฮสติ้งและ CDN

ตรวจประกาศสถานะของโฮสติ้งและ CDN ที่ใช้งาน หากมีเหตุขัดข้องหรือการบำรุงรักษา อาจต้องรอผู้ให้บริการแก้ไขก่อน

หากเว็บไซต์ใช้ CDN หรือพร็อกซี ให้ตรวจว่าระบบนั้นเชื่อมต่อกับเซิร์ฟเวอร์ต้นทางได้หรือไม่ หากไม่แน่ใจว่าข้อผิดพลาดมาจากระบบใด ให้ส่ง URL และเวลาที่เกิดแก่โฮสติ้งเพื่อให้ตรวจ Log ทั้งฝั่งเว็บเซิร์ฟเวอร์และ PHP

❸ ตรวจสอบปลั๊กอินหรือธีมที่เพิ่งเปลี่ยน

หาก 504 เริ่มหลังติดตั้งหรืออัปเดตปลั๊กอิน ให้ตรวจรายการที่เปลี่ยนล่าสุด โดยเฉพาะปลั๊กอินแคช ความปลอดภัย สำรองข้อมูล หรือปลั๊กอินที่ทำงานกับข้อมูลจำนวนมาก

หากเข้าแอดมินได้ ให้ปิดปลั๊กอินที่สงสัยชั่วคราวและทดสอบหน้าเดิม หากเข้าไม่ได้ ให้ขอให้โฮสติ้งหรือผู้ดูแลเว็บไซต์ช่วยตรวจ Error Log ก่อนปิดปลั๊กอินผ่าน File Manager อย่าปิดหลายตัวพร้อมกันโดยไม่บันทึกรายการที่เปลี่ยน

❹ ตรวจสอบงานที่ใช้เวลานานหรือทำงานซ้ำ

การสำรองข้อมูล การนำเข้าข้อมูล การอัปเดตจำนวนมาก หรือคำสั่งที่ทำงานซ้ำ อาจทำให้เซิร์ฟเวอร์ตอบสนองช้า ตรวจสอบว่าปัญหาเกิดตรงกับช่วงที่มีงานเหล่านี้หรือไม่

หากเพิ่งเริ่มงานนำเข้าหรือสำรองข้อมูล ให้ตรวจสถานะว่ายังทำงานอยู่หรือค้างอยู่ อย่ากดเริ่มซ้ำหลายครั้ง เพราะอาจเพิ่มภาระให้เซิร์ฟเวอร์และทำให้การประมวลผลใช้เวลานานขึ้น

❺ ตรวจสอบการใช้ทรัพยากรและฐานข้อมูล

ตรวจสถิติ CPU หน่วยความจำ และการเชื่อมต่อของบัญชีโฮสติ้ง หากมีการใช้ทรัพยากรสูง ให้แจ้งโฮสติ้งพร้อมช่วงเวลาที่พบปัญหาเพื่อช่วยตรวจสอบสาเหตุ

หาก 504 เกิดกับหน้าที่ดึงข้อมูลจากฐานข้อมูล ให้ขอให้โฮสติ้งตรวจเวลาตอบสนองและ Log ของฐานข้อมูลด้วย อย่าแก้หรือลบตารางฐานข้อมูลเพื่อทดลองแก้ปัญหาโดยไม่มีสำเนาสำรอง

❻ ล้างแคชหลังระบบกลับมาตอบสนอง

เมื่อโฮสติ้งแก้ปัญหาเซิร์ฟเวอร์หรือปลั๊กอินแล้ว ให้ล้างแคชของเบราว์เซอร์ ปลั๊กอินแคช โฮสติ้ง หรือ CDN จากนั้นลองเปิดหน้าที่เคยมีปัญหาอีกครั้ง

การเพิ่มเวลารอของระบบเพียงอย่างเดียวอาจทำให้เห็นข้อผิดพลาดช้าลง แต่ไม่แก้สาเหตุที่ทำให้เซิร์ฟเวอร์ประมวลผลนาน ควรให้ผู้ดูแลระบบตรวจงานหรือคำขอที่ใช้เวลานานก่อนปรับค่าดังกล่าว

❼ ติดต่อโฮสติ้งหากยังเกิดซ้ำ

หากเว็บไซต์ยังแสดง 504 ให้แจ้งข้อมูลต่อไปนี้แก่ฝ่ายสนับสนุน:

  • URL ที่เกิดข้อผิดพลาด
  • วันและเวลาที่พบปัญหา
  • เกิดทุกหน้า หรือเกิดเฉพาะบางหน้า
  • งานหรือการเปลี่ยนแปลงที่ทำก่อนเกิดปัญหา
  • มีการใช้ CDN หรือพร็อกซีหรือไม่

ComSiam แนะนำให้ขอให้โฮสติ้งตรวจเวลาตอบสนองของเว็บเซิร์ฟเวอร์ PHP และฐานข้อมูลในช่วงเวลาที่เกิดข้อผิดพลาด ข้อมูลเหล่านี้ช่วยระบุได้ว่าคำขอติดขัดอยู่ที่ส่วนใด

สรุป

เมื่อ WordPress ขึ้น 504 Gateway Timeout ให้ตรวจว่าปัญหาเกิดกับหน้าใด ตรวจสถานะโฮสติ้งและ CDN แล้วทบทวนปลั๊กอิน งานเบื้องหลัง และการใช้ทรัพยากร หากเกิดซ้ำให้เก็บ URL กับเวลาที่พบและส่งให้โฮสติ้งตรวจ Log ไม่ควรเพิ่มเวลารอโดยไม่หาสาเหตุ เพราะอาจเพียงทำให้ข้อผิดพลาดเกิดช้าลง ComSiam แนะนำให้ทดสอบเว็บไซต์อีกครั้งหลังผู้ให้บริการแก้ระบบแล้ว