การจำกัด WordPress Heartbeat API คือการลดความถี่ของคำขอ admin-ajax.php ที่ทำงานเบื้องหลังในแผงควบคุม WordPress เพื่อลดการใช้ CPU โดยเฉพาะอย่างยิ่งในโฮสติ้งแบบแชร์, ร้านค้า WooCommerce ที่มีผู้ใช้จำนวนมาก และบล็อกที่มีผู้เขียนหลายคน Heartbeat API อาจส่งคำขอถึงเซิร์ฟเวอร์ทุก 15-60 วินาที ซึ่งอาจทำให้เกิดการใช้ CPU เกินความจำเป็น, แผงควบคุมโหลดช้า และแจ้งเตือนข้อจำกัดทรัพยากร วิธีแก้ปัญหาที่เหมาะสมคือไม่ปิด API ทิ้งทั้งหมด แต่ปรับระยะเวลาเป็น 60-120 วินาทีตามหน้าเว็บ และเปิดใช้งานเฉพาะในส่วนที่จำเป็น พร้อมทั้งตรวจสอบผลลัพธ์ผ่านแผงควบคุมโฮสติ้ง
บทความนี้จะแนะนำให้รู้จัก Heartbeat API คืออะไร, เมื่อไหร่ที่มันก่อปัญหา, ค่าที่ปลอดภัย และวิธีลดการใช้ CPU บนเว็บไซต์ WordPress อย่างเป็นขั้นตอน โดยยังคงฟีเจอร์สำคัญอย่างการบันทึกอัตโนมัติและการตรวจสอบเซสชันให้ใช้งานได้ตามปกติ หากเว็บไซต์คุณประสบปัญหา 508 Resource Limit, 503 Service Unavailable หรือแผงควบคุม WordPress ช้า การตั้งค่านี้ถือเป็นจุดเริ่มต้นที่ควรตรวจสอบ
WordPress Heartbeat API คืออะไร?
WordPress Heartbeat API คือกลไกที่ทำให้เบราว์เซอร์และเซิร์ฟเวอร์สื่อสารกันเป็นระยะ ๆ โดยปกติจะใช้ไฟล์ /wp-admin/admin-ajax.php เป็นตัวกลาง WordPress ใช้ระบบนี้เพื่อบันทึกแบบร่างอัตโนมัติบนหน้าจอแก้ไข, แจ้งเตือนเมื่อมีคนอื่นแก้ไขโพสต์เดียวกัน, ตรวจสอบสถานะเซสชัน และเรียกใช้งานแจ้งเตือนแบบเรียลไทม์ของปลั๊กอินบางตัว
ยกตัวอย่างง่าย ๆ เมื่อบรรณาธิการกำลังแก้ไขบทความ WordPress จะส่งคำขอเล็ก ๆ ไปยังเซิร์ฟเวอร์เป็นระยะเพื่อป้องกันการสูญหายของแบบร่าง คำขอนี้เองไม่หนักมาก แต่ถ้ามีบรรณาธิการ 8 คน, ผู้ดูแล 2 คน และทีมงานที่เปิดแผงควบคุม WooCommerce พร้อมกัน จำนวนคำขอจะเพิ่มขึ้นอย่างรวดเร็ว ใน 10 เซสชันที่เปิดพร้อมกัน ทุก 30 วินาที จะเกิดคำขอ Heartbeat ประมาณ 1,200 ครั้งต่อชั่วโมง หากปลั๊กอินแทรกข้อมูลเพิ่มเติมในคำขอเหล่านี้ การใช้ CPU ก็จะสูงขึ้นมากกว่าที่คาดไว้
ดังนั้น Heartbeat API ไม่ใช่ปัญหาโดยตัวมันเอง แต่ถ้าใช้งานในช่วงเวลาที่ถี่เกินไป, ใช้ในหน้าที่ไม่จำเป็น หรือมีปลั๊กอินที่หนักร่วมด้วย ก็จะกลายเป็นปัญหาด้านประสิทธิภาพ ในเว็บไซต์ที่ตั้งค่าเหมาะสม API จะยังคงเปิดใช้งานแต่ควบคุมความถี่ให้เหมาะสม
ทำไม Heartbeat API ถึงเพิ่มการใช้ CPU?
การใช้ CPU หมายถึงพลังงานประมวลผลที่เซิร์ฟเวอร์ใช้ในการรันคำสั่ง PHP WordPress เป็นระบบจัดการเนื้อหาแบบไดนามิก ทุกคำขอ PHP จะทำงานร่วมกับธีม, ปลั๊กอิน, ฐานข้อมูล และแกนหลักของ WordPress แม้คำขอ Heartbeat จะดูเล็กน้อยก็ต้องเรียกใช้กระบวนการ PHP เหล่านี้เช่นกัน
สาเหตุหลักที่ทำให้ CPU เพิ่มขึ้น ได้แก่:
- ระยะเวลาคำขอถี่เกินไป: บางหน้าจะส่งคำขอได้ถี่ถึงทุก 15 วินาที เท่ากับคำขอ 240 ครั้งต่อชั่วโมงสำหรับผู้ใช้เพียงคนเดียว
- เปิดแท็บหลายแท็บพร้อมกัน: ถ้าผู้ใช้เปิด WordPress ในแท็บเบราว์เซอร์ 4 แท็บ คำขอ Heartbeat ก็จะเพิ่มขึ้นเป็น 4 เท่า
- ปลั๊กอินหนัก: ปลั๊กอินด้านความปลอดภัย, สถิติ, สำรองข้อมูล, ตัวสร้างหน้า และ WooCommerce จะเพิ่มภาระเพิ่มเติมให้กับคำขอ Heartbeat
- โฮสติ้งที่มีทรัพยากรจำกัด: แพ็กเกจที่มี CPU จำกัด จะถูกใช้งานเต็มโดยคำขอเล็ก ๆ เหล่านี้ในช่วงเวลาที่มีผู้ใช้มาก
- การแย่งใช้ทรัพยากรระหว่างบ็อตและผู้ใช้จริง: ทราฟฟิกผู้เข้าชมหน้าเว็บและคำขอในแผงควบคุมใช้ทรัพยากรเดียวกัน
หากคุณสังเกตเห็นว่าไฟล์ access log มีการเรียก admin-ajax.php บ่อยครั้ง ควรตรวจสอบคำขอ Heartbeat โดยเฉพาะ บนแพลตฟอร์ม Hostragons คุณสามารถติดตามการใช้งาน CPU ผ่านกราฟและพิจารณาแพ็กเกจ โฮสติ้ง WordPress ที่เหมาะสมกับความต้องการของเว็บไซต์คุณได้
ควรปิด Heartbeat API ทิ้งทั้งหมดหรือไม่?
คำตอบโดยทั่วไปคือไม่ ควรหลีกเลี่ยงการปิด Heartbeat API ทั้งหมดเพราะจะส่งผลเสีย เช่น การบันทึกอัตโนมัติของโพสต์, การล็อกเนื้อหา และการรีเฟรชเซสชันอาจใช้งานไม่ได้ โดยเฉพาะในบล็อกที่มีผู้เขียนหลายคน อาจเกิดปัญหาการแก้ไขซ้ำซ้อนและสูญเสียเนื้อหาได้
วิธีที่ปลอดภัยกว่าคือเปิดใช้งานในส่วนที่จำเป็นและเพิ่มระยะเวลาคำขอ เช่น ตั้งค่าให้หน้าจอแก้ไขโพสต์ส่งคำขอทุก 60 วินาที, แผงควบคุมทั่วไปทุก 120 วินาที และปิดใช้งานในหน้าส่วนหน้าของเว็บไซต์ ส่วนร้านค้า WooCommerce ต้องทดสอบอย่างละเอียดในหน้าการสั่งซื้อและการจัดการสต็อก
ตารางแนะนำการตั้งค่า Heartbeat API
| สถานการณ์ | การตั้งค่าที่แนะนำ | ผลลัพธ์ที่คาดหวัง | ข้อควรระวัง |
|---|---|---|---|
| บล็อกผู้เขียนคนเดียว | Admin 120 วินาที, ผู้แก้ไข 60 วินาที, ปิดส่วนหน้าสุด | ลดคำขอ admin-ajax อย่างชัดเจน | ทดสอบความถี่บันทึกอัตโนมัติ |
| เว็บไซต์มีผู้เขียนหลายคน | ผู้แก้ไข 60 วินาที, แอดมิน 90-120 วินาที | ลดการใช้ CPU และรักษาการล็อกเนื้อหา | ตรวจสอบจำนวนแท็บที่เปิดของผู้เขียน |
| ร้านค้า WooCommerce | แอดมิน 60-90 วินาที, ปิดหรือจำกัดส่วนหน้าอย่างระมัดระวัง | ลดภาระแผงควบคุม | ทดสอบตะกร้า, การชำระเงิน และปลั๊กอินสต็อก |
| เว็บไซต์องค์กร | แอดมิน 120 วินาที, ปิดส่วนหน้า | วิธีลดภาระที่ปลอดภัยที่สุด | ตรวจสอบปลั๊กอินฟอร์มและความปลอดภัย |
| เว็บไซต์ที่แจ้งเตือนทรัพยากรเกิน | เริ่มที่ 60 วินาที แล้วเพิ่มเป็น 120 วินาที | ลดจุดสูงสุดของ CPU | วัดผลด้วย log และกราฟโฮสติ้ง |
ตารางนี้เป็นจุดเริ่มต้นที่ดี การตั้งค่าที่เหมาะสมที่สุดขึ้นอยู่กับจำนวนผู้ใช้, โครงสร้างปลั๊กอิน, ธีม และทรัพยากรโฮสติ้ง การปรับโดยไม่วัดผลอาจซ่อนปัญหา CPU แท้จริงไว้
วิธีจำกัด Heartbeat API ใน WordPress
มีสามวิธีหลักในการจำกัด Heartbeat API: ใช้ปลั๊กอิน, เพิ่มโค้ดในไฟล์ธีม หรือใช้ฟีเจอร์ในปลั๊กอินเพิ่มประสิทธิภาพ หากไม่มีความรู้ทางเทคนิค การใช้ปลั๊กอินนับว่าปลอดภัยและง่ายที่สุด สำหรับนักพัฒนาสามารถปรับแต่งโค้ดเพื่อควบคุมได้ละเอียดกว่า
1. วิธีใช้ปลั๊กอิน Heartbeat Control
วิธีที่ง่ายที่สุดคือใช้ปลั๊กอินจัดการ Heartbeat เช่น Heartbeat Control จาก WP Rocket หรือปลั๊กอินที่มีความน่าเชื่อถืออื่น ๆ สามารถตั้งกฎแยกต่างหากตามหน้าได้
ขั้นตอน:
- เข้าสู่แผงควบคุม WordPress เลือก ปลั๊กอิน > เพิ่มใหม่
- ค้นหา Heartbeat Control และติดตั้งปลั๊กอินที่น่าเชื่อถือ
- เปิดใช้งานปลั๊กอินแล้วไปที่หน้าการตั้งค่า
- ตั้งความถี่สำหรับแผงควบคุมเป็น 60 หรือ 120 วินาที
- ตั้งค่าในหน้าจอแก้ไขโพสต์เป็น 60 วินาที ไม่ปิดทั้งหมด
- ปิดหรือเพิ่มระยะเวลาสำหรับส่วนหน้าเว็บไซต์
- บันทึกการตั้งค่าและติดตามกราฟการใช้ CPU เป็นเวลา 24 ชั่วโมง
ข้อดีของวิธีนี้คือเปลี่ยนแปลงง่ายและสามารถย้อนกลับได้ทันทีหากมีปัญหา ข้อเสียคือเพิ่มปลั๊กอินอีกตัวในระบบ หากต้องการลดจำนวนปลั๊กอิน การปรับโค้ดจะเหมาะสมกว่า
2. วิธีแก้ไข functions.php เพื่อปรับระยะ Heartbeat
หากต้องการแก้ไขด้วยโค้ด ให้เพิ่มโค้ดในไฟล์ functions.php ของธีมลูก (child theme) หรือสร้างปลั๊กอินเล็ก ๆ ของเว็บไซต์ เพื่อป้องกันการสูญเสียการตั้งค่าหลังอัปเดตธีม
ตัวอย่างโค้ดเพิ่มระยะเวลาการส่ง Heartbeat เป็น 60 วินาที:
add_filter('heartbeat_settings', 'custom_heartbeat_interval'); function custom_heartbeat_interval($settings) { $settings['interval'] = 60; return $settings; }
โค้ดนี้จะเพิ่มระยะเวลาจาก 15 วินาทีเป็น 60 วินาที ลดจำนวนคำขอได้ถึง 75% เช่น จาก 1,200 คำขอต่อชั่วโมงเหลือประมาณ 300 คำขอจริง ๆ ขึ้นอยู่กับปลั๊กอินที่ประมวลผลคำขอเหล่านี้ด้วย
หากต้องการปิด Heartbeat บนส่วนหน้าของเว็บไซต์ แต่เปิดในแผงควบคุม ให้ใช้โค้ดนี้:
add_action('init', 'disable_heartbeat_on_frontend', 1); function disable_heartbeat_on_frontend() { if (!is_admin()) { wp_deregister_script('heartbeat'); } }
โค้ดนี้จะปิดการทำงานของ Heartbeat ในส่วนหน้า แต่ต้องทดสอบให้แน่ใจว่าเว็บไซต์ไม่มีฟีเจอร์อย่างระบบสมาชิก, การแจ้งเตือนสด หรือการแก้ไขเนื้อหาแบบเรียลไทม์ที่ต้องใช้ Heartbeat หาก WooCommerce มีปัญหากับตะกร้าสินค้าและการชำระเงิน ให้ตั้งค่าแบบแยกหน้าโดยใช้ปลั๊กอินจะปลอดภัยกว่า
3. วิธีใช้ WP Rocket หรือปลั๊กอินเพิ่มประสิทธิภาพควบคุม Heartbeat
ปลั๊กอินแคชและเพิ่มประสิทธิภาพหลายตัว เช่น WP Rocket มีฟีเจอร์ควบคุม Heartbeat ในหน้าตั้งค่า คุณสามารถกำหนดความถี่หรือปิด Heartbeat ในแผงควบคุม, ตัวแก้ไขบทความ และส่วนหน้าต่าง ๆ ได้ วิธีนี้ช่วยลดความจำเป็นต้องติดตั้งปลั๊กอินเพิ่ม
ข้อควรระวัง ควรเปิดใช้ฟีเจอร์ Heartbeat ในปลั๊กอินเดียวเท่านั้น เพื่อป้องกันปัญหาการทำงานซ้ำซ้อนหรือขัดแย้งกัน เช่น อย่าเปิด Heartbeat Control และฟีเจอร์ Heartbeat ของ WP Rocket พร้อมกัน
วัดผลการใช้ CPU เพื่อหาการตั้งค่าที่เหมาะสม
การวัดผลก่อนและหลังการปรับ Heartbeat เป็นขั้นตอนสำคัญของการเพิ่มประสิทธิภาพ ไม่ใช่แค่รู้สึกว่าแผงควบคุมเร็วขึ้นเท่านั้น แต่ต้องดูกราฟการใช้ CPU, จำนวนกระบวนการ PHP, ไฟล์ access log และ error log ร่วมกัน
แผนการทดสอบที่แนะนำ:
- เก็บข้อมูลพื้นฐาน: บันทึกกราฟ CPU และ RAM อย่างน้อย 24 ชั่วโมงก่อนปรับ
- ตรวจสอบ access log: ดูความถี่คำขอ
admin-ajax.php - ตั้งค่า Heartbeat: เพิ่มช่วงเวลาคำขอเป็น 60 วินาที และปิดส่วนหน้าสุด
- รอ 24-48 ชั่วโมง: สังเกตการเปลี่ยนแปลงการใช้ CPU ในช่วงเวลาที่มีทราฟฟิกเท่าเดิม
- ถ้าจำเป็นลอง 120 วินาที: โดยเฉพาะกับเว็บไซต์องค์กรที่ต้องการความเสถียรสูง
- ทดสอบฟีเจอร์สำคัญ: บันทึกอัตโนมัติ, ตะกร้า WooCommerce, การสั่งซื้อ และระบบสมาชิก
ยกตัวอย่าง หากเว็บไซต์องค์กรเปิดแผงควบคุมแล้ว CPU พุ่งสูงถึง 80-90% การเพิ่มระยะเวลาจาก 15 เป็น 60 วินาที ช่วยลดจุดสูงสุดของ CPU ได้ 20-40% แต่ถ้ามีปลั๊กอินสำรองข้อมูลที่สแกนทุกชั่วโมง การปรับ Heartbeat อย่างเดียวอาจไม่พอ ต้องรวมการปรับปรุง การปรับแต่งความเร็ว WordPress และ การใช้ทรัพยากรโฮสติ้ง ด้วย
admin-ajax.php ใช่ Heartbeat ตลอดหรือไม่?

ไม่ใช่ admin-ajax.php ถูกใช้งานโดยหลายฟังก์ชันใน WordPress Heartbeat API เป็นเพียงส่วนหนึ่งเท่านั้น ปลั๊กอินฟอร์ม, ฟีเจอร์กรองข้อมูล, การค้นหาแบบสด, สแกนความปลอดภัย, การอัปเดตตะกร้าสินค้า และธีมบางตัวก็ใช้ไฟล์นี้เช่นกัน
ดังนั้นการเห็นคำขอ admin-ajax.php เยอะ ๆ และปิด Heartbeat ทันที อาจไม่ได้แก้ปัญหาที่ถูกจุด คุณสามารถตรวจสอบผ่านเครื่องมือ Developer Tools ในเบราว์เซอร์ที่แท็บ Network ดูว่าคำขอมีค่า action=heartbeat หรือไม่ ถ้าไม่ใช่ อาจเป็นคำขอจากปลั๊กอินอื่น
นอกจากนี้ ควรวิเคราะห์ access log บนเซิร์ฟเวอร์ว่าคำขอเหล่านั้นมาจาก IP ไหน, เวลาใด และมาจากหน้ากดเข้าชมใด หากเป็นบ็อต การตั้งค่า firewall, rate limiting หรือระบบป้องกันบ็อตจะเหมาะสมกว่า และควรรักษาหน้า ใบรับรอง SSL ให้ปลอดภัยและอัปเดตเสมอเพื่อเพิ่มความน่าเชื่อถือและประสิทธิภาพ
ข้อผิดพลาดที่พบบ่อยเมื่อลด Heartbeat API
การแก้ปัญหาด้านประสิทธิภาพ WordPress อย่างรวดเร็วอาจทำให้เกิดข้อผิดพลาดที่กระทบต่อเว็บไซต์สดได้ โดยเฉพาะข้อควรระวังดังนี้:
- ปิด API ทุกหน้าทั้งหมด: ฟีเจอร์บันทึกอัตโนมัติและล็อกเนื้อหาอาจเสีย
- เพิ่มโค้ดโดยไม่ทดสอบบนเว็บไซต์จริง: อาจเกิดหน้าขาว (White Screen) จากข้อผิดพลาดของโค้ด
- ไม่ตรวจสอบกระบวนการชำระเงิน WooCommerce: อาจเกิดข้อผิดพลาดในการทำงานของตะกร้าและคำสั่งซื้อ
- ใช้ปลั๊กอินเพิ่มประสิทธิภาพหลายตัวพร้อมกัน: ทำให้วัดผลและแก้ไขปัญหายากขึ้น
- โยงปัญหา CPU เพียง Heartbeat: อาจมาจากการเรียกฐานข้อมูลหนัก, บ็อต หรืองาน cron ที่ทำงาน
- ไม่สำรองข้อมูลก่อนแก้ไข: หากเกิดข้อผิดพลาดจะใช้เวลาฟื้นฟูนาน
ก่อนแก้ไขควรสำรองไฟล์และฐานข้อมูลอย่างครบถ้วน หากต้องการบริหารจัดการโดเมนและโฮสติ้งแบบครบวงจร สามารถใช้บริการ การตรวจสอบโดเมน และ การโฮสต์เว็บไซต์ เพื่อความสะดวกและเป็นระบบมากขึ้น
มาตรการเสริมลดการใช้ CPU นอกจาก Heartbeat
การจำกัด Heartbeat เป็นเพียงก้าวแรก แต่การเพิ่มประสิทธิภาพ WordPress ต้องดูภาพรวมดังนี้:
การใช้แคช
แคชช่วยลดภาระ PHP และฐานข้อมูล โดยการเก็บหน้าสถิติเพื่อให้ส่งตรงถึงผู้เยี่ยมชมแทนการประมวลผลใหม่ทุกครั้ง เป็นวิธีที่มีประสิทธิภาพสูงในการลดการใช้ CPU
ลบปลั๊กอินที่ไม่จำเป็น
ปลั๊กอินที่ไม่ได้ใช้งานแม้จะปิดใช้งานก็อาจยังสร้างภาระฐานข้อมูลได้ ควรตรวจสอบและลบปลั๊กอินที่ไม่จำเป็นหรือหนักเกินไป โดยเฉพาะปลั๊กอินด้านสถิติ, ความปลอดภัย, ตัวสร้างหน้า และสำรองข้อมูล
ควบคุม WP-Cron
ระบบ WP-Cron เรียกใช้งานทุกครั้งที่มีการเข้าชมเว็บไซต์บนระบบ WordPress ซึ่งอาจเพิ่มการใช้ CPU ในเว็บไซต์ที่มีทราฟฟิกสูง การตั้งค่าให้ระบบ cron ของเซิร์ฟเวอร์ทำงานแทนจะช่วยควบคุมภาระได้ดีกว่า
เพิ่มประสิทธิภาพฐานข้อมูล
การล้างข้อมูลเก่า เช่น รีวิชันโพสต์ ข้อมูลชั่วคราว ความเห็นสแปม และ transient ที่หมดอายุ ช่วยลดขนาดฐานข้อมูลและลดเวลาคิวรีได้ โดยเฉพาะในร้านค้า WooCommerce ที่ข้อมูลคำสั่งซื้อและเซสชันมีขนาดใหญ่ขึ้นเรื่อย ๆ
ใช้ PHP เวอร์ชันใหม่และโฮสติ้งที่เหมาะสม
PHP เวอร์ชันใหม่มักให้ประสิทธิภาพดีขึ้น ธีมและปลั๊กอินที่รองรับ PHP 8.x จะใช้ CPU น้อยลงภายใต้โหลดเดียวกัน แต่ต้องใช้โฮสติ้งที่เสถียรและมีทรัพยากรเพียงพอ หากเว็บไซต์มีผู้เข้าชมมาก อาจพิจารณา เซิร์ฟเวอร์ VPS หรือโฮสติ้ง WordPress แบบปรับขนาดได้
แนวทางปฏิบัติที่ปลอดภัยในการจัดการ Heartbeat API
เมื่อจัดการ Heartbeat API บนเว็บไซต์ WordPress ที่ใช้งานจริง ควรทำตามขั้นตอนนี้เพื่อความปลอดภัยและได้ผลลัพธ์ชัดเจน:
- สำรองข้อมูลเว็บไซต์อย่างสมบูรณ์ก่อนเริ่ม
- บันทึกการใช้ CPU, RAM และปริมาณคำขอ admin-ajax.php ปัจจุบัน
- ยืนยันว่า Heartbeat สร้างคำขอจำนวนมากจริง
- ปิดหรือเพิ่มระยะเวลาบนส่วนหน้าของเว็บไซต์
- ตั้งค่าระยะเวลาบนหน้าจอแก้ไขบทความไม่ต่ำกว่า 60 วินาที
- ทดลองช่วง 90-120 วินาทีในแผงควบคุม
- ทดสอบฟังก์ชัน WooCommerce, ระบบสมาชิก และฟอร์มต่าง ๆ ด้วยมือ
- เปรียบเทียบข้อมูลการใช้ทรัพยากรหลังปรับตั้งแต่ 24-48 ชั่วโมง
- ถ้าผลไม่ดีพอ วิเคราะห์ปลั๊กอิน, ธีม และงาน cron เพิ่มเติม
การวางแผนแบบนี้ช่วยให้เพิ่มประสิทธิภาพโดยใช้ข้อมูลจริง ไม่ใช่คาดเดา เพื่อลด CPU และรักษาเสถียรภาพพร้อมประสบการณ์ใช้งานที่ดีของผู้ใช้
สรุป: อย่าปิด Heartbeat แต่จำกัดอย่างชาญฉลาด
การจำกัด WordPress Heartbeat API อย่างเหมาะสมเป็นวิธีลดการใช้ CPU ที่ได้ผลจริง ช่วยให้แผงควบคุมทำงานลื่นไหลและใช้ทรัพยากรโฮสติ้งอย่างคุ้มค่า วิธีที่ดีที่สุดคือไม่ปิด API ทิ้งทั้งหมด แต่ควบคุมความถี่ในส่วนหน้า, ตั้งค่าในหน้าจอแก้ไขบทความ และทดสอบความถี่ในแผงควบคุมที่ 60-120 วินาที
หากยังพบปัญหา CPU สูง Heartbeat อาจเป็นแค่จุดเริ่มต้น ต้องตรวจสอบแคช, ภาระปลั๊กอิน, งาน cron, ฐานข้อมูล และแพ็กเกจโฮสติ้งร่วมด้วย สำหรับผู้ใช้ Hostragons สามารถดูตัวเลือก โฮสติ้ง WordPress เพื่อปรับปรุงโครงสร้างพื้นฐานให้เสถียรและตอบโจทย์ความต้องการของเว็บไซต์ได้อย่างลงตัว
คำถามที่พบบ่อย
ควรปิด WordPress Heartbeat API ทั้งหมดหรือไม่?
โดยทั่วไปไม่ควรปิดทั้งหมด เพราะฟีเจอร์บันทึกอัตโนมัติ, การล็อกเนื้อหา และการรีเฟรชเซสชันจะเสียหาย วิธีที่ปลอดภัยคือปิดในส่วนหน้า และเพิ่มระยะเวลาคำขอในแผงควบคุมและตัวแก้ไขบทความเป็น 60-120 วินาที
การจำกัด Heartbeat API ลดการใช้ CPU ได้มากแค่ไหน?
ขึ้นอยู่กับโครงสร้างเว็บไซต์ การเพิ่มช่วงเวลาจาก 15 เป็น 60 วินาที จะลดคำขอ Heartbeat ได้ประมาณ 75% แต่ผลลัพธ์จริงขึ้นอยู่กับจำนวนผู้ใช้, ปลั๊กอิน และโฮสติ้ง
admin-ajax.php ที่ใช้ CPU สูงมาจาก Heartbeat เสมอไหม?
ไม่เสมอไป ไฟล์นี้ถูกใช้โดยหลายฟีเจอร์ เช่น ฟอร์ม, WooCommerce, การค้นหาแบบสด และปลั๊กอินความปลอดภัย คุณสามารถตรวจสอบในแท็บ Network ของ Developer Tools ว่าคำขอมี action=heartbeat หรือไม่
การจำกัด Heartbeat บน WooCommerce ปลอดภัยไหม?
ปลอดภัยถ้าทำอย่างระมัดระวัง ต้องทดสอบฟีเจอร์ตะกร้า, การชำระเงิน, การจัดการคำสั่งซื้อ และระบบสต็อกอย่างละเอียด โดยทั่วไปควรเพิ่มระยะเวลาคำขอมากกว่าปิดทั้งหมด
หลังตั้งค่า Heartbeat ควรทดสอบนานแค่ไหน?
อย่างน้อย 24-48 ชั่วโมง โดยดูกราฟการใช้ CPU, จำนวนคำขอ PHP, คำขอ admin-ajax.php และฟีเจอร์สำคัญของเว็บไซต์ หากทราฟฟิกมีความแตกต่างระหว่างวันทำงานและวันหยุด ควรเก็บข้อมูลนานขึ้น