วิธีแก้ไขการใช้งาน CPU สูงใน WordPress
เผยแพร่แล้ว: 2022-10-25บทความนี้จะแนะนำวิธีการแก้ไขสาเหตุทั่วไปของการใช้งาน CPU สูงใน WordPress
อัปเดตเวิร์ดเพรส
นี่เป็นวิธีแก้ไขที่ง่ายที่สุด ดังนั้นควรเริ่มต้นที่นี่ก่อนที่จะไปแก้ไขที่ซับซ้อนกว่านี้
การพลาดการอัปเดต WordPress ที่สำคัญจะทำให้ไซต์ของคุณทำงานได้ไม่ดีเท่าที่ควร และทำให้โหลด CPU มากขึ้นบนโฮสต์เซิร์ฟเวอร์
โชคดีที่การอัปเดต WordPress ทำได้ง่ายเพียงคลิกเดียว! เพียงไปที่ Dashboard>Updates ที่นี่ คุณสามารถดูได้ว่ามี WordPress เวอร์ชันใหม่ให้ติดตั้งหรือไม่ คลิก “อัปเดตทันที” และคุณพร้อมแล้ว!
ตรวจสอบปลั๊กอินของคุณ
ปลั๊กอินเป็นหนึ่งในสาเหตุที่พบบ่อยที่สุดของปัญหาด้านประสิทธิภาพใน WordPress มีหลายวิธีที่ปลั๊กอินทำให้ทรัพยากร CPU ของคุณหมดไป:
- ปลั๊กอินบางตัวทำงานเบื้องหลังอย่างต่อเนื่อง
- ปลั๊กอินบางตัวอาจล้าสมัยหรือไม่ได้ใช้เวอร์ชันที่เสถียร
- ปลั๊กอินบางตัวมาพร้อมกับคุณสมบัติและการตั้งค่ามากมายที่คุณไม่ได้ใช้ แต่ยังคงทำงานในพื้นหลัง
- ปลั๊กอินสามารถใช้การเปลี่ยนเส้นทางที่ทำให้เกิดการวนรอบการเปลี่ยนเส้นทาง
คุณสามารถใช้ WP Hive Chrome Extension เพื่อตรวจสอบผลกระทบที่ปลั๊กอินของคุณมีต่อประสิทธิภาพของไซต์ หรือคุณสามารถทำแบบเก่าได้โดยการปิดใช้งานปลั๊กอินเพื่อดูว่ามีผลกระทบอะไรบ้าง
ตรวจสอบให้แน่ใจว่าไซต์ของคุณได้รับการปรับให้เหมาะสม
หากการใช้งาน CPU ของ WordPress ของคุณสูงถึง 90+% แสดงว่าเป็นไปได้มากว่าเกิดจากการโฮสต์หรือทราฟฟิกพุ่งสูงขึ้น และคุณควรจัดการส่วนเหล่านั้นก่อน อย่างไรก็ตาม คุณควรปรับปรุงไซต์ของคุณให้คล่องตัวและลดภาระของ CPU ด้วยเคล็ดลับง่ายๆ เพื่อเพิ่มความเร็วให้กับไซต์ WordPress ของคุณ เหล่านี้รวมถึง:
- การย่อและบีบอัดไฟล์
- เก็บเอาไว้
- การปรับภาพให้เหมาะสม
- โฮสต์วิดีโอภายนอก
ปิดใช้งาน WP-CRON
Cron เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่กำหนดงานให้ดำเนินการโดยอัตโนมัติ คำสั่งเหล่านี้เรียกว่า “งาน cron” ใน WordPress งาน cron จะถูกจัดการโดย WP-CRON อย่างไรก็ตาม WP-CRON เป็นเพียงฟังก์ชั่นที่ WordPress ใช้เพื่อเลียนแบบการทำงานของงาน cron จริง
WP-CRON อาจทำให้เกิดปัญหาด้านประสิทธิภาพได้เนื่องจากเริ่มทำงานทุกครั้งที่มีการโหลดหน้าแทนที่จะเป็นไปตามกำหนดเวลาที่กำหนด ซึ่งหมายความว่าเมื่อมีทราฟฟิกสูง WP-CRON จะตรวจสอบเหตุการณ์ที่กำหนดเวลาไว้ในแต่ละครั้งที่มีคนโหลดหน้าเว็บและทำให้เซิร์ฟเวอร์ทำงานหนักขึ้น ในทางกลับกัน หากไซต์ไม่มีการเข้าชมมากนัก กิจกรรมที่กำหนดเวลาไว้อาจพลาดไปหากไม่มีใครโหลดหน้านั้น
สำหรับคนจำนวนมาก การปิด WP-CRON และใช้งาน cron จริงแทนจะดีกว่า
วิธีปิดการใช้งาน WP-CRON
หากต้องการปิดใช้งาน WP-CRON คุณจะต้องแก้ไขไฟล์ wp-config.php และเพิ่มคำสั่งนี้:
define('DISABLE_WP_CRON', true);
วางไว้หน้าบรรทัดที่เขียนว่า “/*แค่นั้นแหละ หยุดแก้ไข! มีความสุขในการเผยแพร่ */”.
วิธีสร้างงาน cron ของคุณเอง
การปิดใช้งาน WP-CRON จะหยุดการทำงานโดยอัตโนมัติเท่านั้น แต่คุณยังสามารถตั้งค่างาน cron จริงที่เรียกใช้คำสั่ง wp-config.php
มีหลายวิธีที่คุณสามารถทำได้:
- คุณอาจตั้งค่างาน cron ผ่านแผงควบคุมของผู้ให้บริการโฮสติ้งได้
- หากคุณใช้ cPanel คุณสามารถกำหนดเวลางาน cron ได้โดยไปที่ขั้นสูง>งาน Cron และตั้งค่าที่นั่น
- ใช้ปลั๊กอินของบริษัทอื่น เช่น WP Crontrol
- กำหนดค่างาน cron ด้วยตนเองใน SSH
ถ่ายเนื้อหาไปยังเครือข่ายการส่งเนื้อหา
เมื่อมีผู้เยี่ยมชมไซต์ของคุณจากประเทศที่ห่างไกลจากเซิร์ฟเวอร์โฮสต์ ข้อมูลจะใช้เวลานานขึ้นในการเข้าถึงคอมพิวเตอร์ของพวกเขา เวลาพิเศษที่ใช้ในการส่งทรัพยากรเหล่านี้ใช้พลังการประมวลผลในเซิร์ฟเวอร์โฮสต์
คำตอบสำหรับปัญหานี้? CDN (เครือข่ายการจัดส่งเนื้อหา)
เครือข่ายการจัดส่งเนื้อหาคือระบบของเซิร์ฟเวอร์ที่กระจายตามพื้นที่ซึ่งมีเนื้อหาคงที่ในเวอร์ชันแคชจากไซต์ของคุณ คุณสามารถถ่ายโอนเนื้อหาไปยังเซิร์ฟเวอร์เหล่านี้เพื่อให้ผู้ใช้ได้รับเนื้อหาจากเซิร์ฟเวอร์ที่อยู่ใกล้ที่สุด ส่งผลให้เวลาในการโหลดเร็วขึ้น ประสบการณ์การใช้งานที่ดีขึ้น และที่ดีที่สุดคือ ลดการใช้งาน CPU จากเว็บไซต์ WordPress ของคุณลงอย่างมาก
บล็อก Bad Bots
ไม่ต้องสงสัยเลยว่าคุณคุ้นเคยกับบ็อตของ Google อยู่แล้ว เหล่านี้คือ "บอทที่ดี" พวกเขารวบรวมข้อมูลและจัดทำดัชนีไซต์ของคุณสำหรับเครื่องมือค้นหา และ SEO ของคุณจะเกี่ยวข้องกับพวกเขา
อย่างไรก็ตาม มีบอทจำนวนมากขึ้นที่เยี่ยมชมเว็บไซต์ WordPress ของคุณทุกวัน บอทเหล่านี้ส่วนใหญ่ไม่ได้เป็นอันตราย แต่พวกมันมีส่วนช่วยในการเข้าชมไซต์ของคุณซึ่งอาจทำให้ CPU ของคุณทำงานหนักโดยไม่จำเป็น
คุณสามารถดูรายการบอทรวบรวมข้อมูลทั่วไปนี้เพื่อทราบว่าควรบล็อกบอทใดจากเว็บไซต์ของคุณ หากต้องการบล็อก User Agent หนึ่งๆ ไม่ให้รวบรวมข้อมูลไซต์ของคุณ คุณต้องสร้างกฎในไฟล์ robots.txt โดยใช้รูปแบบต่อไปนี้
User-agent: BotName Disallow: /
เครื่องหมาย “/” หมายความว่าคุณได้บล็อกพวกเขาจากไดเร็กทอรีราก และเป็นผลให้บล็อกทั้งไซต์ของคุณ หากคุณต้องการปิดเฉพาะบอทจากไดเร็กทอรีบางไดเร็กทอรี คุณสามารถเขียน:
User-agent: BotName
Disallow: /DirectoryName/
คุณยังสามารถบล็อกบอทผ่านไฟล์ .htaccess ของคุณได้โดยเพิ่มกฎต่อไปนี้:
RewriteEngine On RewriteEngine On RewriteCond %{HTTP_USER_AGENT} UserAgentName [NC] RewriteRule .* - [F,L] To block multiple bots, format your rule like this: RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(Bot1|Bot2|Bot3).*$ [NC] RewriteRule .* - [F,L]
หรืออีกทางหนึ่ง คุณสามารถใช้ปลั๊กอินเพื่อจับบอทที่น่ารำคาญและช่วยให้คุณไม่ต้องพยายามตรวจสอบและแบนพวกมันด้วยตนเอง
ฉันขอแนะนำ Blackhole สำหรับปลั๊กอินบ็อตที่ไม่ดี มันมีวิธีที่ค่อนข้างชาญฉลาดในการจับบอทที่ไม่ดี ซึ่งเหมือนกับการดักตัวต่อในน้ำน้ำตาลหนึ่งแก้ว
ปลั๊กอินเพิ่มลิงก์ไปยังไซต์ของคุณซึ่งโปรแกรมรวบรวมข้อมูลเท่านั้นที่มองเห็นได้ ลิงค์นี้ทำหน้าที่เป็นเหยื่อล่อ
จากนั้น คุณเพิ่มกฎใน robots.txt ของคุณ โดยห้ามไม่ให้บอทติดตามลิงก์นี้ แน่นอนว่าสแปมบอทจะไม่สนใจกฎนี้และไปตามลิงก์นั้น เมื่อดำเนินการแล้ว พวกเขาจะถูกแบนไม่ให้เข้าถึงไซต์ของคุณทันที
ค่อนข้างฉลาดใช่มั้ย
ตรวจสอบตัวเลือกการโฮสต์ของคุณ
หากไซต์ WordPress ของคุณมีปัญหากับการใช้งาน CPU สูง เป็นไปได้ว่าคุณไม่ได้รับทรัพยากรเซิร์ฟเวอร์เพียงพอจากผู้ให้บริการโฮสติ้งของคุณ โดยเฉพาะอย่างยิ่งหากคุณใช้โฮสติ้งที่ใช้ร่วมกัน โฮสติ้งที่ใช้ร่วมกันเป็นหนึ่งในสาเหตุที่พบบ่อยที่สุดของ CPU ที่ทำงานหนักเกินไป เนื่องจากคุณต้องแข่งขันกันเพื่อแย่งชิงพลังงานกับเว็บไซต์อื่นๆ ทั้งหมดที่โฮสต์บนเซิร์ฟเวอร์
หากคุณคิดว่าคุณเติบโตเกินกว่าโฮสติ้งที่ใช้ร่วมกันแล้ว ก็ถึงเวลาตรวจสอบผู้ให้บริการโฮสติ้งประเภทอื่นๆ แล้ว:
- โฮสติ้งเซิร์ฟเวอร์ส่วนตัวเสมือน (VPS): คุณยังคงใช้เซิร์ฟเวอร์ร่วมกัน โดยแบ่งเป็นพาร์ติชันเสมือนเท่านั้น คุณจึงสามารถมีทรัพยากรเฉพาะ เช่น หน่วยความจำ คอร์ CPU และพื้นที่เก็บข้อมูล คุณถูกแยกออกจากไซต์อื่นๆ ได้อย่างมีประสิทธิภาพ ดังนั้นปริมาณการใช้ข้อมูลที่เพิ่มขึ้นอย่างรวดเร็วไปยังไซต์อื่นบนเซิร์ฟเวอร์จะไม่ส่งผลกระทบต่อคุณ
- คลาวด์โฮสติ้ง: คลาวด์โฮสติ้งกำลังได้รับความสนใจพอสมควรในทุกวันนี้ โดยพื้นฐานแล้วมันทำงานคล้ายกับ CDN ไซต์ของคุณถูกจัดเก็บไว้ในเครือข่ายของเซิร์ฟเวอร์เสมือนและเซิร์ฟเวอร์จริงแทนที่จะเป็นเซิร์ฟเวอร์เดียว คลาวด์โฮสติ้งมักจะถูกกว่าเพราะคุณจ่ายเฉพาะทรัพยากรที่คุณใช้เท่านั้น นอกจากนี้ เนื่องจากคุณกระจายอยู่ในเซิร์ฟเวอร์หลายเครื่อง คุณจึงได้รับการรักษาความปลอดภัยเป็นพิเศษ เวลาทำงานที่เชื่อถือได้มากขึ้น และความสามารถในการปรับขนาดที่ไม่มีที่สิ้นสุด
- Dedicated Hosting: มักถูกมองว่าเป็น creme de la creme ของเว็บโฮสติ้ง ตัวเลือกนี้มีเซิร์ฟเวอร์ของคุณเอง ให้คุณควบคุมทรัพยากรเซิร์ฟเวอร์ที่คุณใช้ได้ 100% ในทางกลับกัน มันมักจะเป็นตัวเลือกที่แพงที่สุดและต้องใช้ผู้เชี่ยวชาญทางเทคนิคในการจัดการอย่างเหมาะสม
- Managed Hosting: ด้วย Managed Hosting ผู้ให้บริการโฮสต์ของคุณจะดูแลเซิร์ฟเวอร์ของคุณเป็นหลัก ซึ่งจะครอบคลุมสิ่งต่างๆ เช่น การบำรุงรักษา การอัปเดต และความปลอดภัย นี่เป็นส่วนเสริมสำหรับโฮสติ้งประเภทอื่น คุณสามารถมี Managed Shared Hosting หรือ Managed Dedicated Hosting
บทสรุป
การลดการใช้งาน CPU จะช่วยปรับปรุงประสิทธิภาพโดยรวมของไซต์ WordPress ของคุณได้อย่างมาก ซึ่งนำไปสู่ประสิทธิภาพที่เพิ่มขึ้น สถานะการออนไลน์ที่สม่ำเสมอมากขึ้น และประสบการณ์ผู้ใช้ที่ดีขึ้น แม้ว่าเคล็ดลับมากมายในบทความนี้จะช่วยให้คุณลดภาระของ CPU ได้ แต่หากคุณใช้งาน CPU ของเว็บไซต์มากเกินไปอย่างต่อเนื่อง แสดงว่าแทบจะเป็นปัญหาการโฮสต์