วิธีทำให้ Magento 2 พัฒนาเว็บไซต์รวดเร็ว?


18

ฉันปิดแคชทั้งหมดและตั้งค่าโหมดการปรับใช้เป็นการพัฒนา ดังนั้นเว็บไซต์พัฒนา Magento 2 ของฉันบนทุกเครื่องจึงช้ามากเมื่อเทียบกับ Magento 1.x sites

เป็นเรื่องปกติสำหรับ Magento 2 หรือไม่?

การกำหนดค่าเซิร์ฟเวอร์และ Magento คืออะไรที่เราต้องใช้กับเว็บไซต์พัฒนา Magento 2 เพื่อให้มีความเร็วสูงสุด

ปรับปรุง:

สำหรับ mac สำหรับการพัฒนาท้องถิ่นฉันสามารถเพิ่มความเร็วไซต์โดยปิดใช้งาน opcache เนื่องจากมีปัญหาการกำหนดค่า


ติดตั้ง Redis เพื่อแทนที่แคชไฟล์เบื้องหลัง และใช้ memcache สำหรับ php เซสชัน เปิดใช้งานแคชและปิดใช้งานส่วนแคชที่คุณไม่ต้องการเปิดใช้งานเมื่อทำงานกับงานเฉพาะ หากคุณกำลังจัดแต่งทรงผมในรูปแบบเท่านั้นใช้ grunt watch และเปิดใช้งานแคชทั้งหมด วิธีการกำหนดค่าอยู่ในเอกสารทางราชการของวีโอไอพี 2
ปิดบัง

Redis ไม่มีประโยชน์เว้นแต่คุณจะมีผลิตภัณฑ์ 100k +
Claudiu Creanga

ฉันยังทุกข์ทรมานจากการพัฒนาช้าในพีซีหน้าต่างท้องถิ่น ตามประสบการณ์ของคุณมันจะดีกว่าสำหรับฉันฉันเริ่มพัฒนาท้องถิ่นใน Ubuntu หรือ Linux Mint? และการตั้งค่าที่คุณแนะนำคืออะไร?
อึ๊ง

คำตอบ:


12

คุณสามารถใช้กล่องจรจัดนี้https://github.com/EcomDev/fast-hypernode

ฉันใช้มันและมันค่อนข้างเร็ว ในโหมดนักพัฒนาซอฟต์แวร์ที่ปิดการใช้งานแคชและ xdebug การรีเฟรชหน้าเว็บนั้นประมาณ 2-3 วินาที

หรือคุณสามารถใช้กล่องคนจรจัดที่จัดทำโดย magestead: http://www.magestead.com/

  • ใช้ php7
  • ใช้ gulp เพื่อสร้าง css และ js (เร็วกว่า grunt) คุณสามารถลองการกำหนดค่าที่สร้างขึ้นแล้วโดย snowdog (พร้อมใน 2 นาที): https://github.com/SnowdogApps/magento2-frontools
  • ใช้ ram ขนาด 3gb ถ้าทำการทดสอบ
  • ปิดการใช้งานเพียงแคชที่คุณต้องการ หากคุณทำส่วนหน้าคุณไม่จำเป็นต้องปิดการใช้งานแคชใด ๆ
  • ใช้ livereload หรือ browserync สำหรับการพัฒนาส่วนหน้าเพื่อให้คุณไม่จำเป็นต้องโหลดหน้าซ้ำ

ทำความเข้าใจกับสิ่งที่คำสั่ง magento ทำและเมื่อใดที่จะเรียกใช้ หากคุณใช้งานจำนวนมากsetup:static-content:deployคุณจะรู้สึกโกรธเมื่อเห็นจุดเหล่านั้น ฮึดฮัดหรืออึกไม่รู้เกี่ยวกับ @magento_import ดังนั้นเมื่อคุณเพิ่มหรือลบไฟล์คุณจำเป็นต้องเรียกใช้dev:source-theme:deployซึ่งเร็วกว่าที่กล่าวมาข้างต้น

สิ่งที่ไม่ได้ปรับปรุง:

เว้นแต่คุณมีผลิตภัณฑ์มากกว่า 100k redis สร้างความแตกต่างดังนั้นอย่ารำคาญ ( http://www.developers-paradise.com/wp-content/uploads/2016/05/05-Yaroslav-Rogoza-Magento-2-performance-) compar-in-different-environment.pdf )

ปัจจุบันเนื่องจากวิธีที่ magento2 ใช้ requirejs (2mb ของ js), http2 ก็ไม่ได้สร้างความแตกต่างเช่นกัน


ฉันยังทุกข์ทรมานจากการพัฒนาช้าในพีซีหน้าต่างท้องถิ่น ตามประสบการณ์ของคุณมันจะดีกว่าสำหรับฉันฉันเริ่มพัฒนาท้องถิ่นใน Ubuntu หรือ Linux Mint? และการตั้งค่าที่คุณแนะนำคืออะไร?
อึ๊ง

@ ใจขอโทษไม่มีประสบการณ์กับมิ้น ฉันใช้ mac และ Ubuntu
Claudiu Creanga

เซอร์ ... ฉันสามารถคาดหวังการพัฒนาความเร็วที่ดีของวีโอไอพี 2 ... ถ้าใช้ i จรจัดบนหน้าต่างของฉัน 7 (i5 + 12GB Ram) หรือฉันควรไปที่อูบุนตูกับการกำหนดค่าระบบนี้เพราะหน้าต่างน่าผิดหวังช้าในการพัฒนา
Jai

1
@Jai Windows ก็โอเค คุณควรตั้งเป้าหมายการรีเฟรช 2-3 วินาทีในโหมดนักพัฒนาโดยเปิดแคชไว้ ตรวจสอบว่าgithub.com/alankent/docker-gsdนี้เร็วแค่ไหนในคอมพิวเตอร์ของคุณและตั้งเป้าหมายความเร็วนั้น สำหรับคนจรจัดฉันแนะนำ hypernode packagist.org/packages/byteinternet/hypernode-vagrant
Claudiu Creanga

ขอบคุณสำหรับคำแนะนำของคุณ ฉันจะใช้คำแนะนำของคุณและคุณรู้สึกว่าการพัฒนาคุณภาพเยี่ยมสามารถทำได้อย่างรวดเร็วใน ubuntu และ Mac เมื่อเทียบกับ windows?
ใจ

7

ขึ้นอยู่กับประเภทของการพัฒนาที่คุณวางแผนที่จะทำคุณอาจพบว่าการสลับไปใช้การรวบรวม css ฝั่งไคลเอ็นต์ช่วยเพิ่มความเร็วในการพัฒนาไซต์อย่างมีนัยสำคัญ

ร้านค้า> การกำหนดค่า> ขั้นสูง> ผู้พัฒนา> เวิร์กโฟลว์การพัฒนาส่วนหน้า

สลับไปยังการรวบรวมที่ฝั่งไคลเอ็นต์น้อยกว่า


ดูเหมือนว่าการตั้งค่านี้จะย้ายไปใน Magento 2.2 ตัวชี้ใดที่จะหาได้ตอนนี้หรือไม่
fritzmg

1
docs.magento.com/m2/ee/user_guide/system/ …ฉันจะตรวจสอบว่าเว็บไซต์ของคุณอยู่ในโหมดนักพัฒนาซอฟต์แวร์หรือไม่หากไม่พบ
bjornredemption

ใช่มันไม่ได้อยู่ในโหมดนักพัฒนาขอบคุณ:
fritzmg

0

นอกจากนี้ตรวจสอบให้แน่ใจว่าการรวม JS / CSS ถูกปิดใช้งานเมื่ออยู่ในโหมดนักพัฒนาซอฟต์แวร์นี้จะส่งผลต่อประสิทธิภาพการทดสอบแสดงให้เห็นว่าความเร็วสามารถลดลงจาก 20-30 วินาทีลงเหลือ 2 - 3 วินาที

อาจดูเหมือนชัดเจนในโหมดนักพัฒนา แต่หากพลาดสามารถนำไปสู่สภาพแวดล้อมที่ช้าอย่างไม่น่าเชื่อเพราะฉันได้คัดลอกสภาพแวดล้อมการผลิตลงเพื่อพัฒนาและพลาดในขณะนี้

ปรับปรุง

ดูเหมือนว่าจะเป็นปัญหาที่ส่งผลต่อฉันใน 2.1.7 ถึง 2.1.9 และดูเหมือนจะได้รับการแก้ไขภายใน Magento 2.2.X


ข้อมูลนี้ดูเหมือนว่าผิด ความเร็วไม่ควรลดลงด้วยการผสาน
ladle3000


@ ladle3000 คุณไม่ต้องการรวมและย่อขนาดในการพัฒนาจริงๆทำให้ยากที่จะดูว่าไฟล์ใดที่ต้องเปลี่ยนสำหรับการแก้ไข CSS / JS
30915

ฉันเห็นคะแนนของคุณ ฉันคิดว่าอาจเป็นเพราะฉันย้ายไปที่ 2.2 โดยตรงฉันไม่เคยเจอสิ่งนี้ คุณเป็นเวอร์ชั่นอะไร
ladle3000

นี่อาจได้รับการแก้ไขแล้วใน 2.2.0 แต่ดูเหมือนจะเป็นขั้นตอนเพิ่มเติม ฉันพยายามทดสอบเมื่อเช้านี้ แต่เมื่อฉันเปิดใช้งานในโหมดนักพัฒนาซอฟต์แวร์ดูเหมือนว่าจะปิดใช้งานอยู่ ฉันใช้ 2.2.3 ตอนนี้
harri

0

ปิดใช้งานแคชต่อไปนี้เพื่อให้คุณไม่จำเป็นต้องเรียกใช้คำสั่ง CLI เพื่อล้างแคช

CONFIG
LAYOUT_GENERAL_CACHE_TAG
BLOCK_HTML
FPC

0

สาเหตุหลักที่ทำให้ magento2 นั้นช้าในโหมดนักพัฒนาซอฟต์แวร์นั้นเกี่ยวข้องกับไฟล์สแตติกและคอมไพล์ที่สร้างขึ้นอย่างรวดเร็ว

มี 3 โซลูชั่นสำหรับสิ่งนี้:

  • เมานต์ไดเร็กทอรีทั้งหมดด้วย NFS (SSD ยังเป็นข้อบังคับ)

  • ติดตั้งเฉพาะไดเรกทอรีแอพ (ใครก็ตามที่ฮาร์ดแวร์ของคุณจะทำงานได้ดี) แต่คุณสูญเสียการเข้าถึง / ไดเรกทอรีผู้ขายบนเครื่องโฮสต์ของคุณ

  • เมานต์โปรเจ็กต์ทั้งหมดด้วย rsync และแยกไดเรกทอรีที่ไฟล์ถูกสร้างขึ้น (pub / static, created / code ฯลฯ ... )

คุณสามารถลองได้ที่นี่: https://github.com/zepgram/magento2-fast-vm/


0

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

opcache.validate_timestamps = On

0

หากคุณใช้ Windows ลองใช้ stack นี้มันเร็วมาก: https://winnmp.wtriple.com/ใช้ nginx และ php-fpm และเปิดใช้ Zend Opcache

และสำหรับแคชคุณสามารถปล่อยให้ทั้งหมดใช้ แต่ใช้ตัวเฝ้าดูไฟล์นี้ซึ่งจะล้างเฉพาะแคชที่ต้องการโดยอัตโนมัติ: https://github.com/mage2tv/magento-cache-clean


-4

ในการเพิ่มความเร็วของ Magento 2 store ให้ทำตามขั้นตอนเหล่านี้:

  • ก่อนอื่นตรวจสอบให้แน่ใจว่าคุณได้ปฏิบัติตามข้อกำหนดของระบบและเซิร์ฟเวอร์ทั้งหมดแล้ว
  • อัพเดต Magento เป็นเวอร์ชั่นล่าสุด
  • เปิดใช้งาน Varnish Cache
  • เปิดใช้งานหมวดหมู่แบบเรียบและผลิตภัณฑ์ - เพิ่มประสิทธิภาพรูปภาพ, Javascript และ CSS
  • ตั้งค่า CDN
  • ใช้ส่วนขยายที่ปราศจากข้อบกพร่องและชุดรูปแบบที่มีน้ำหนักเบาเสมอ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.