วิธีแก้ไขการใช้งาน 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);

วางไว้หน้าบรรทัดที่เขียนว่า “/*แค่นั้นแหละ หยุดแก้ไข! มีความสุขในการเผยแพร่ */”.

disable cron

วิธีสร้างงาน cron ของคุณเอง

การปิดใช้งาน WP-CRON จะหยุดการทำงานโดยอัตโนมัติเท่านั้น แต่คุณยังสามารถตั้งค่างาน cron จริงที่เรียกใช้คำสั่ง wp-config.php

มีหลายวิธีที่คุณสามารถทำได้:

  • คุณอาจตั้งค่างาน cron ผ่านแผงควบคุมของผู้ให้บริการโฮสติ้งได้
  • หากคุณใช้ cPanel คุณสามารถกำหนดเวลางาน cron ได้โดยไปที่ขั้นสูง>งาน Cron และตั้งค่าที่นั่น
  • ใช้ปลั๊กอินของบริษัทอื่น เช่น WP Crontrol
  • กำหนดค่างาน cron ด้วยตนเองใน SSH

ถ่ายเนื้อหาไปยังเครือข่ายการส่งเนื้อหา

content deliver network

เมื่อมีผู้เยี่ยมชมไซต์ของคุณจากประเทศที่ห่างไกลจากเซิร์ฟเวอร์โฮสต์ ข้อมูลจะใช้เวลานานขึ้นในการเข้าถึงคอมพิวเตอร์ของพวกเขา เวลาพิเศษที่ใช้ในการส่งทรัพยากรเหล่านี้ใช้พลังการประมวลผลในเซิร์ฟเวอร์โฮสต์

คำตอบสำหรับปัญหานี้? CDN (เครือข่ายการจัดส่งเนื้อหา)

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

บล็อก Bad Bots

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

อย่างไรก็ตาม มีบอทจำนวนมากขึ้นที่เยี่ยมชมเว็บไซต์ WordPress ของคุณทุกวัน บอทเหล่านี้ส่วนใหญ่ไม่ได้เป็นอันตราย แต่พวกมันมีส่วนช่วยในการเข้าชมไซต์ของคุณซึ่งอาจทำให้ CPU ของคุณทำงานหนักโดยไม่จำเป็น

คุณสามารถดูรายการบอทรวบรวมข้อมูลทั่วไปนี้เพื่อทราบว่าควรบล็อกบอทใดจากเว็บไซต์ของคุณ หากต้องการบล็อก User Agent หนึ่งๆ ไม่ให้รวบรวมข้อมูลไซต์ของคุณ คุณต้องสร้างกฎในไฟล์ robots.txt โดยใช้รูปแบบต่อไปนี้

 User-agent: BotName Disallow: /
block bad bots

เครื่องหมาย “/” หมายความว่าคุณได้บล็อกพวกเขาจากไดเร็กทอรีราก และเป็นผลให้บล็อกทั้งไซต์ของคุณ หากคุณต้องการปิดเฉพาะบอทจากไดเร็กทอรีบางไดเร็กทอรี คุณสามารถเขียน:

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 ของเว็บไซต์มากเกินไปอย่างต่อเนื่อง แสดงว่าแทบจะเป็นปัญหาการโฮสต์