WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
WPML Multilingual CMS 3.1.9.7
แก้ไขใน
3.2

ภาพรวมของปัญหา

หน้าเว็บไซต์ไม่สามารถใช้งานได้หรือโหลดช้ามาก

หากคุณสามารถตรวจสอบได้ว่ามีคิวรีใดถูกเรียกใช้งาน คุณจะพบการอ้างอิงถึงคิวรีนี้:

SELECT meta_key

FROM wp_postmeta

GROUP BY meta_key

ORDER BY meta_key

LIMIT 1000;

วิธีแก้ปัญหาชั่วคราว

คุณต้องทำการแก้ไขเล็กน้อยในไฟล์หนึ่งของ WPML

คุณสามารถใช้ไคลเอนต์ FTP เพื่อแก้ไขไฟล์นี้ได้


  1. เปิด wp-content/plugins/sitepress-multilingual-cms/inc/translation-management/translation-management.class.php

  2. ไปที่บรรทัด 102 ซึ่งคุณจะเห็นบรรทัดนี้: $this->initial_custom_field_translate_states();

  3. คอมเมนต์บรรทัดนั้น โดยการเพิ่ม “//” ไว้ที่จุดเริ่มต้นของบรรทัด

  4. บันทึกไฟล์

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

เราสังเกตเห็นยอดการเรียกใช้งานคิวรีที่พุ่งสูงขึ้นทั้งในส่วนหลังเว็บไซต์และส่วนหน้าเว็บไซต์ สิ่งนี้ส่งผลกระทบต่อเว็บไซต์ที่มีขนาดใหญ่มาก ๆ ซึ่งมีรายการ postmeta นับล้านรายการเท่านั้น (เช่นที่เรามีบนเว็บไซต์ของเรา)

คิวรีนี้มาจากตรรกะเก่า ซึ่งไม่ได้ทำหน้าที่สำคัญใด ๆ อีกต่อไปแล้ว เราจะลบออกทั้งหมดใน WPML 3.2

หากคุณสังเกตเห็นว่าเวลาในการโหลดหน้าเว็บพุ่งสูงขึ้นอย่างมาก นี่อาจเป็นกรณีของคุณ

อย่างไรก็ตาม โปรดทราบว่าเนื่องจาก WordPress 4.2 ได้เปลี่ยนชุดอักขระเป็น UTF8-bytes ปลั๊กอินอื่น ๆ และธีมอาจมีปัญหาด้านประสิทธิภาพ การอัปเกรดนี้อาจเปลี่ยนแปลงการทำดัชนี (ตามที่เกิดขึ้นบนเซิร์ฟเวอร์ของเรา) และอาจมีปฏิกิริยาที่ไม่คาดคิดกับ MySQL (ตามที่เราประสบมา) สิ่งนี้ทำให้สิ่งที่มีผลกระทบต่ำมากกลายเป็นปัญาวิกฤตในทันที

ดังนั้น คำแนะนำของเราคือให้เปิดใช้งานบันทึกคิวรีที่ทำงานช้าของ MySQL และตรวจสอบว่าคิวรีใดที่ส่งผลกระทบต่อประสิทธิภาพเซิร์ฟเวอร์ของคุณจริง ๆ

ปัญหาที่ทราบแล้วทั้งหมด →