วิธีแก้ WordPress ใช้หน่วยความจำเซิร์ฟเวอร์เกิน

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

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

❶ ตรวจสอบสถิติทรัพยากรของโฮสติ้ง

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

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

❷ ตรวจปลั๊กอินและธีมที่ใช้ทรัพยากรมาก

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

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

❸ ตรวจงานเบื้องหลังและงานตามกำหนดเวลา

งานสำรองข้อมูล อัปเดตอัตโนมัติ ส่งอีเมล และนำเข้าข้อมูล อาจใช้หน่วยความจำระหว่างทำงาน ตรวจว่ามีงานค้าง ทำงานซ้ำ หรือกำหนดให้ทำงานถี่เกินไปหรือไม่

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

❹ ตรวจจำนวนผู้เข้าชมและคำขอที่เข้ามา

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

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

❺ ตรวจทรัพยากรของฐานข้อมูลและเว็บเซิร์ฟเวอร์

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

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

❻ แยกปัญหา RAM เซิร์ฟเวอร์ออกจาก PHP Memory Limit

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

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

❼ วางแผนแก้ไขตามสาเหตุ

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

ComSiam แนะนำให้เก็บรายงานทรัพยากรก่อนและหลังแก้ไขไว้ เพื่อดูว่าการปรับช่วยลดการใช้หน่วยความจำจริงหรือไม่

สรุป

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