ปลั๊กอิน WordPress Query Monitor: มาดีบักและปรับปรุงประสิทธิภาพกันเถอะ
เผยแพร่แล้ว: 2019-09-05
คุณได้รับข้อผิดพลาด WordPress แต่ไม่สามารถแก้ไขได้หรือไม่?
เพื่อตรวจจับข้อผิดพลาดของ WordPress นักพัฒนามักจะทำงานย้อนกลับ เริ่มต้นด้วยการแยกส่วนของรหัสที่อาจปิดบังปัญหา จากนั้นจึงเริ่มประเมินแต่ละส่วน โดยทั่วไป สำหรับเว็บไซต์ WordPress ประเด็นหลักๆ ที่น่ากังวลคือการตั้งค่า PHP, ไฟล์ .htaccess, ไฟล์ wp-config, การสืบค้นฐานข้อมูล และการตั้งค่า DNS
เมื่อไม่นานมานี้ ฉันพบปลั๊กอิน WordPress Query Monitor ซึ่งเป็นเครื่องมือสำหรับนักพัฒนาที่ยอดเยี่ยมในการค้นหาว่าเกิดอะไรขึ้นบนเว็บไซต์ ปลั๊กอินนำเสนอข้อมูลโดยละเอียดที่นักพัฒนาสามารถใช้เพื่อจำกัดขอบเขต "ปัญหา" ของโค้ดให้แคบลง
ในบทช่วยสอนเกี่ยวกับปลั๊กอินนี้ ฉันจะเริ่มต้นด้วยการแนะนำโดยละเอียดของปลั๊กอิน WordPress Query Monitor จากนั้นไปที่คำอธิบายสั้น ๆ เกี่ยวกับกรณีการใช้งานทั่วไปของปลั๊กอิน
- WordPress Query Monitor คืออะไร?
- คุณสมบัติของ WordPress Query Monitor
- เหตุใด Query Monitor จึงมีประโยชน์สำหรับนักพัฒนา
- วิธีการใช้ WordPress Query Monitor?
WordPress Query Monitor คืออะไร?
การตรวจสอบข้อความค้นหาเป็นปลั๊กอิน WordPress ที่เพิ่มมูลค่ามหาศาลให้กับขั้นตอนการดีบัก และโดยทั่วไปจะช่วยปรับปรุงประสิทธิภาพโดยรวมของเวิร์กโฟลว์ WordPress dev ของคุณ
ปลั๊กอินเพิ่มรายการในแถบเมนูด้านบนซึ่งทำหน้าที่เป็นรายการแบบหล่นลงที่มีจำนวนการสืบค้นที่ดำเนินการในหน้าปัจจุบัน เวลาในการโหลด ตัวกรองตามประเภทของข้อความค้นหา ตัวกรองตามส่วนประกอบ ฯลฯ ส่งผลให้นักพัฒนา มีความคิดที่ดีขึ้นเกี่ยวกับสิ่งที่อาจทำให้เกิดข้อผิดพลาดบนเว็บไซต์

ได้รับการพัฒนาโดย John Blackbourn และสามารถใช้ได้ทั้งที่ WordPress Plugin Repository และจาก GitHub เช่นเดียวกับปลั๊กอิน WordPress ที่ยอดเยี่ยมทุกตัว Query Monitor ได้รับการอัปเดตอย่างสม่ำเสมอ และทีมพัฒนาให้การสนับสนุนและการแก้ไขที่ยอดเยี่ยมสำหรับจุดบกพร่องที่รายงานทั้งหมด
การติดตั้งนั้นง่ายมากและโดยทั่วไปไม่ต้องการขั้นตอนเพิ่มเติม (เมื่อเทียบกับขั้นตอนการติดตั้งของปลั๊กอินที่คล้ายกัน) หลังการติดตั้ง ปลั๊กอินดีบัก WordPress นี้ไม่ต้องการการกำหนดค่าเพิ่มเติม ทันทีที่ออกจากกล่อง จะเริ่มแสดงรายการดรอปดาวน์ในแถบเครื่องมือผู้ดูแลระบบ

เมื่อคลิกรายการในรายการดรอปดาวน์ คุณจะสามารถเข้าถึงรายละเอียดเกี่ยวกับคิวรีที่ทำกับฐานข้อมูล สคริปต์ และ CSS ที่โหลด ฮุคที่ใช้งานอยู่ และการเรียก HTTP API

คุณสมบัติของ WordPress Query Monitor
ต่อไปนี้คือภาพรวมโดยย่อของคุณลักษณะต่างๆ ของปลั๊กอิน Query Monitor
ข้อผิดพลาดของธีม
ฟีเจอร์ของธีมแสดงรายการการสืบค้นทั้งหมดที่เกิดจากธีม WordPress ที่ติดตั้งไว้ จะแสดงชื่อไฟล์ของเทมเพลตธีมที่รับผิดชอบการสืบค้นข้อมูลเฉพาะ และแสดงลำดับชั้นของเทมเพลตทั้งหมด ฟีเจอร์ธีมยังเน้นส่วนธีมที่ไม่ได้โหลดและชื่อธีม WordPress ที่ใช้งานอยู่
ข้อผิดพลาด PHP
WordPress ทำงานบน PHP และไม่ว่าคำขอจะถูกสร้างขึ้นโดยธีมหรือปลั๊กอินหรือไม่ก็ตาม จะอยู่ในรูปแบบของโค้ด PHP คุณลักษณะข้อผิดพลาดของ PHP จะเน้นที่องค์ประกอบต้นทางและตำแหน่งที่รับผิดชอบในการสร้างแบบสอบถาม
หมายเหตุ: แบบสอบถามบางรายการที่แสดงใน Query Monitor นั้นไม่ร้ายแรง ค่อนข้างเป็นไปได้ว่าเป็นเพียงการเตือน
AJAX โทร
ไซต์ WordPress แบบไดนามิกเรียกใช้ Ajax เป็นจำนวนมากสำหรับการส่งและดึงข้อมูลในแบบเรียลไทม์โดยไม่ต้องโหลดหน้าเว็บทั้งหมด Query Monitor ยังแสดงคำขอเหล่านี้พร้อมกับข้อมูลการดีบักที่เป็นประโยชน์อื่นๆ ข้อมูลนี้สามารถช่วยนักพัฒนาในการเน้นข้อผิดพลาด
REST API
หากคุณได้รับอนุญาตให้ตรวจสอบ Query Monitor คุณสามารถดีบักข้อมูลที่แสดงในส่วนหัวของคำขอของ WordPress REST API ที่ตรวจสอบสิทธิ์ได้ ปัจจุบัน ปลั๊กอินรองรับเฉพาะข้อผิดพลาด PHP และการใช้หน่วยความจำเท่านั้น
การตรวจสอบสิทธิ์
ตามค่าเริ่มต้น เฉพาะผู้ดูแลระบบของการติดตั้งไซต์เดียวและผู้ดูแลระบบขั้นสูงของ WordPress Multisite เท่านั้นที่สามารถดูบันทึกภายใน Query Monitor อย่างไรก็ตาม คุณสามารถกำหนดค่าคุกกี้การตรวจสอบสิทธิ์ที่ช่วยให้คุณดูบันทึกได้แม้ในขณะที่คุณเข้าสู่ระบบในฐานะผู้ใช้
คำชี้แจงสิทธิ์ส่วนบุคคล
WordPress Query Monitor ไม่รวบรวมข้อมูลใด ๆ หรือส่งข้อมูลใด ๆ ไปยังบุคคลที่สาม
ฉันยังสังเกตเห็นว่าคำถามที่พบบ่อยระบุว่าส่วนเสริม Debug Bar สามารถใช้กับ Query Monitor ได้ เพียงแค่ปิดใช้งาน Debug Bar ก่อน และยังมีส่วนเสริมสำหรับ Query Monitor
เหตุใด Query Monitor จึงมีประโยชน์สำหรับนักพัฒนา
ด้วยปลั๊กอิน Query Monitor นักพัฒนาสามารถมีแนวคิดที่เป็นธรรมว่าต้องปรับปรุงด้านใดบ้าง ยิ่งไปกว่านั้น นักพัฒนาสามารถค้นพบปลั๊กอินหรือสินทรัพย์เว็บไซต์อื่น ๆ ที่ใช้ทรัพยากรในปริมาณที่ผิดปกติ หรือ (ในกรณีที่แย่กว่านั้น) นั้นขัดแย้งกับไฟล์หลักที่เหลือ
สำหรับเจ้าของเว็บไซต์และนักพัฒนาที่สนใจในการปรับปรุง Web Performance Optimization (WPO) Query Monitor เป็นโซลูชันในอุดมคติสำหรับการระบุปัญหาคอขวดที่สามารถแก้ไขได้ด้วยข้อมูลโค้ดที่ได้รับการปรับปรุง ทางเลือกอื่น หรือการแทนที่สคริปต์/ปลั๊กอินโดยสมบูรณ์ในบางกรณี
มาลองพิจารณางาน dev ง่ายๆ กัน โดยหาเวลาโหลดหน้าเว็บและจำนวนการสืบค้นที่ใช้งานอยู่บนหน้า
WordPress มีสองฟังก์ชันง่ายๆ: get_num_queries () และ timer_stop() ตามชื่อที่อธิบาย get_num_queries () ส่งคืนจำนวนการสืบค้นฐานข้อมูลที่สร้างขึ้นระหว่างการดำเนินการและ timer_stop() ส่งคืนจำนวนวินาทีที่จำเป็นในการสร้างเพจ

วิธีการใช้ WordPress Query Monitor?
เมื่อคุณติดตั้งและเปิดใช้งาน Query Monitor แล้ว คุณต้องไปที่ Plugins → Installed Plugins → Query Monitor → Settings จากนั้นคลิกที่ปุ่ม “ Set authentication cookie ” ทีนี้มาดูแต่ละส่วนของปลั๊กอิน Query Monitor แบบละเอียดกัน
ภาพรวม
แท็บแรกจะแสดงภาพรวมของเว็บไซต์ของคุณ มันแสดงเวลาการสร้างเพจ การใช้หน่วยความจำสูงสุด เวลาการสืบค้นฐานข้อมูล และการสืบค้นฐานข้อมูล

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

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

หน้าจอผู้ดูแลระบบ
ส่วนนี้แสดงกิจกรรมที่เกิดขึ้นบนแผงผู้ดูแลระบบ WordPress มันแสดงรายการส่วนประกอบที่มีการเข้าถึงจากแผงการดูแลระบบ และแสดงข้อผิดพลาดเนื่องจากไม่มีไฟล์ PHP ใด ๆ

สคริปต์
เมื่อคุณไปที่แท็บ Scripts ภายใน Query Monitor จะแสดงรายการสคริปต์และสไตล์ที่อยู่ในคิวทั้งหมดที่อยู่ภายในคำขอ นอกจากนี้ยังเน้นสคริปต์ที่เสียหายหรือไม่ตอบสนองเนื่องจากการพึ่งพาภายนอก

สไตล์
เป็นไปได้ค่อนข้างมากที่บางครั้งเนื่องจากการขึ้นต่อกันภายนอก ไฟล์ CSS บางไฟล์ไม่โหลดและทำลายเลย์เอาต์ของหน้าเว็บของคุณ ส่วนนี้เกี่ยวข้องกับสไตล์ชีต CSS และช่วยให้คุณระบุไฟล์ต้นฉบับที่อยู่เบื้องหลังการสืบค้นใดๆ

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

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

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

การอัปเดตชั่วคราว
WordPress สามารถแคชการตอบสนอง API ในฐานข้อมูลได้ เนื่องจาก API บางตัวอนุญาตให้มีคำขอจำนวนหนึ่งในช่วงเวลาที่กำหนดเท่านั้น Transient Updates จะแสดง transients เหล่านี้ และยังแสดงขนาดและส่วนประกอบด้วย

การตรวจสอบความสามารถ
โดยค่าเริ่มต้น สิ่งนี้จะไม่ทำงานและสามารถเปิดใช้งานได้โดยการวางโค้ดไว้ในไฟล์ wp-config.php การตรวจสอบความสามารถดำเนินการตรวจสอบความสามารถสำหรับผู้ใช้แต่ละรายในเพจ และแสดงพารามิเตอร์พร้อมกับผลลัพธ์

สิ่งแวดล้อม
นี่คือภาพรวมที่สมบูรณ์ของสภาพแวดล้อม WordPress และประกอบด้วยสามส่วนสำหรับ PHP, ฐานข้อมูล และ WordPress ภายในแต่ละส่วนจะแสดงข้อมูลที่เป็นประโยชน์เกี่ยวกับสภาพแวดล้อม เช่น เวอร์ชัน MySQL, ขีดจำกัดหน่วยความจำ PHP, เวอร์ชัน WordPress เป็นต้น

เงื่อนไข
แสดงเงื่อนไข WordPress ทั้งหมดในคำขอปัจจุบัน

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