ฉันควรใช้ Magento Compiler เมื่อใด


44

ฉันมักจะเห็นคนพูดถึงพวกเขาใช้คุณลักษณะคอมไพเลอร์ของ Magento

ฉันไม่เคยและสงสัยซึ่งกรณีที่คุณควรใช้และประสิทธิภาพการทำงานที่คุณได้รับแล้ว

[การปฏิเสธความรับผิด]: เนื่องจากฉันได้รับคำแนะนำแก้ไขเกี่ยวกับเรื่องนี้เมื่อเร็ว ๆ นี้ คำถามนี้ไม่เกี่ยวกับ magento2 di-compile แต่ก็ไม่ได้เกี่ยวกับ magento2 เล็กน้อย


1
ดูมาตรฐานของฉันกับคอมไพเลอร์: byte.nl/blog/should-i-use-the-magento-compiler
Willem

1
การกำหนดค่า apc ของคุณหายไปและตอนนี้เรามีโมดูล opcache ในเวอร์ชันปัจจุบันและไม่มีรุ่น php ที่รองรับซึ่งทำงานกับ apc ได้อีกต่อไป การเปลี่ยนแปลงซอฟต์แวร์ดังนั้นวิธีแก้ปัญหาและวิธีแก้ไขปัญหา
Flyingmana

คำตอบ:


43

[การปฏิเสธความรับผิด] คำตอบนี้มีไว้สำหรับคอมไพเลอร์ใน Magento 1 เท่านั้นคอมไพเลอร์ใน Magento 2 มีวัตถุประสงค์ / เอฟเฟกต์ที่แตกต่างกันโดยสิ้นเชิง

คุณควรใช้มันไม่เคย

เพราะ PHP ได้พัฒนากลไกหลายอย่างเพื่อปรับปรุงแอพพลิเคชั่นที่มีไฟล์จำนวนมาก

หมายถึง: php opCache ในเวอร์ชัน php ปัจจุบันให้การปรับปรุงประสิทธิภาพที่ดีขึ้นหากกำหนดค่าอย่างถูกต้อง ตัวอย่างเช่นการใช้ขีด จำกัด สูงพอสำหรับไฟล์แคช opCache ยังมีการปรับปรุงสำหรับฟังก์ชั่นการเข้าถึงระบบไฟล์ที่ทำงานในระดับที่ลึกกว่านั้น aoe_classpathcache และปรับปรุงประสิทธิภาพการทำงานมากยิ่งขึ้น

ในตอนท้ายเรามีการโหลดอัตโนมัติซึ่งไม่ต้องการ ms มากกว่าสองสามครั้งหากไม่มีคอมไพเลอร์ มีบางกรณีที่คอมไพเลอร์ได้ทำอันตรายต่อประสิทธิภาพ ไม่ต้องพูดถึงปัญหาที่ทำให้เสียเวลามากในการดีบักแอปพลิเคชั่นโดยใช้คอมไพเลอร์

นอกจากนี้ opCache ไม่เพียง แต่ปรับปรุงการโหลดอัตโนมัติ, การเพิ่มประสิทธิภาพฟังก์ชั่นระบบไฟล์ยังช่วยปรับปรุงการโหลดแม่แบบและเค้าโครง

http://php.net/manual/en/opcache.configuration.php


2
ดังนั้นคุณแนะนำให้ปิดการคอมไพล์ลบไฟล์ที่คอมไพล์แล้วและใช้ opCache แทน?
perissf

1
ถ้าคุณสรุปมันใช่
Flyingmana

3
คอมไพเลอร์เป็น kludge ที่มีประโยชน์มากที่สุดกับรุ่น 1.4.1.1, 1.4.2.0 และอาจเป็น 1.5.1.0 เริ่มจาก 1.5.1.0 ไปข้างหน้าการเพิ่มประสิทธิภาพโค้ดเริ่มทำให้มีผลน้อยลง ประมาณ 1.6 หรือ 1.7 บางคนทำการทดสอบ A / B และพบว่าสามารถทำให้ระบบช้าลงภายใต้การกำหนดค่าเซิร์ฟเวอร์บางอย่าง
Fiasco Labs

3
สองการตั้งค่าสำหรับล่าม PHP เพื่อให้ความช่วยเหลือเกี่ยวกับ bazillions ของไฟล์ที่สามารถทำได้หากคุณได้เข้าระบบหรือจะได้รับผู้ให้บริการโฮสติ้งของคุณเพื่อให้การเปลี่ยนแปลงสำหรับคุณ -> และrealpath_cache_size=64k realpath_cache_ttl=360064k น่าจะเป็นจุดที่น่าสนใจผู้คนได้แนะนำมากขึ้น แต่การทดสอบประสิทธิภาพแสดงให้เห็นว่ามันเป็นความทรงจำที่เสียเปล่า
Fiasco Labs

2
@FiascoLabs คุณมีลิงค์ / แหล่งที่มากับตัวเลข "การทดสอบ A / B" ของคุณหรือไม่? มันคงจะดีที่ได้เห็น
Aram Papazian

11

"เมื่อใดฉันจึงควรใช้ Magento Compiler"

หากมีเหตุผลบางระบบของคุณไม่ได้เร่งติดตั้ง PHP ( แต่ไม่น่าเป็นไปได้)

หากคุณใช้งานวีโอไอพีรุ่นเก่ามาก(คุณไม่ควรทำ)

ทำไมคุณควรปิดใช้งาน

ฉันเห็นด้วยกับความคิดเห็นของ Fiasco Labs อย่างเต็มที่ ในขณะที่คุณไม่ได้ให้หมายเลขเวอร์ชั่นของวีโอไอพีของคุณนี่เป็นจริงสำหรับวีโอไอพีทุกเวอร์ชั่นที่มากกว่า 1.6.1 หากคุณเปิดใช้งานคอมไพเลอร์ในระบบที่มีตัวเร่ง php (เช่น PHP-APC เป็นต้น) ร้านค้าทั้งหมดของคุณ จากหน้าผู้ดูแลระบบไปจนถึงลูกค้าที่เช็คเอาต์จะช้าลงแย่ลงยิ่งไปกว่านั้นปลั๊กอิน / โมเดอเรชั่นหลายตัวที่คุณพบจากการเชื่อมต่อแบบวีโอไอพีจะไม่ทำงานอย่างถูกต้องเมื่อคอมไพเลอร์แอ็คทีฟ

ในระยะสั้นในปี 2014 ไม่มีเหตุผลที่ดีที่จะเปิดใช้งานคอมไพเลอร์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.