คำแนะนำในการเพิ่มประสิทธิภาพความเร็วไซต์จะเริ่มต้นอย่างไร


16

ฉันถูกขอให้ลองและค้นหาวิธีแก้ปัญหาสำหรับการโหลดช้าของเว็บไซต์ Magento ของเรา ฉันใช้การทดสอบ Yslow และดูเหมือนว่าผู้กระทำผิดที่ใหญ่ที่สุดจะเป็น

  • ทำให้คำขอ HTTP น้อยลง
  • ใช้ CDN
  • เพิ่มส่วนหัวที่หมดอายุ
  • วาง Javascript ที่ด้านล่าง
  • ลดขนาด jS และ CSS
  • กำหนดค่าแท็ก ET
  • ลดการค้นหา DNS
  • หลีกเลี่ยงตัวกรอง AlphaImageLoader

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

ฉันเคยดูปลั๊กอินที่เรียกว่า GTMetrix ซึ่งดูเหมือนว่าจะทำสิ่งนี้มากมายสำหรับคุณในผู้ดูแลระบบ (รวมแผ่นงาน CSS, ปรับภาพให้เหมาะสม ฯลฯ ) ใครบ้างมีประสบการณ์กับสิ่งนี้บ้างไหม? ฉันมักจะพยายามหลีกเลี่ยงส่วนขยายที่มากเกินไปซึ่งลึกเข้าไปในฟังก์ชันที่จำเป็น แต่ดูเหมือนว่าอาจเป็นวิธีแก้ปัญหา http://gtmetrix.com/magento-optimization-guide.html

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

ขอบคุณล่วงหน้า.

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


คำตอบ:


27

(คัดลอกมาจากบล็อกของฉันเองที่https://www.gui.do/post/101-ways-to-speed-up-your-magento-e-commerce-website )

A) สภาพแวดล้อมการโฮสต์ / เคล็ดลับทั่วไป

  1. รับเซิร์ฟเวอร์เฉพาะ
  2. โฮสต์ไซต์ของคุณในประเทศที่ลูกค้าของคุณอยู่
  3. อย่าโฮสต์ไฟล์บนเว็บเซิร์ฟเวอร์ที่คุณไม่ได้ใช้ไม่ว่าใหญ่หรือเล็ก
  4. ไปที่ผู้ดูแลระบบ MySQL และเลือกตารางทั้งหมดและซ่อมแซมแล้วปรับให้เหมาะสม
  5. ใช้ตัวเร่ง PHP เช่น APC, ZendOptimizer + หรือ Xcache
    • APC - http://pecl.php.net/package/APC เพิ่ม APC.shm.size ให้เป็นอย่างเช่น 128 เพื่อให้ APC สามารถแคชข้อมูลได้มากขึ้น
    • Xcache - http://xcache.lighttpd.net/
  6. ติดตั้งโมดูล Apache ที่จำเป็นเท่านั้น
  7. ใช้ Apache mod_expires และตรวจสอบให้แน่ใจว่าได้ตั้งค่าระยะเวลาที่ควรแคชไฟล์ คุณสามารถใช้ตัวอย่างด้านล่างสำหรับการกำหนดค่า Apache virtualhost ของคุณ: # เปิด Expires และตั้งค่าเริ่มต้นเป็น 0 ExpiresActive On ExpiresDefault A0 # ตั้งค่าการแคชในไฟล์สื่อเป็นเวลา 1 ปี (ถาวรหรือไม่) ExpiresDefault A29030400 Header ผนวก Cache-Control "public" # ตั้งค่าการแคชไฟล์สื่อเป็นเวลา 2 สัปดาห์ ExpiresDefault A1209600 Header ผนวก Cache-Control "public" # ตั้งค่าการแคช 1 สัปดาห์สำหรับไฟล์ที่อัพเดตทั่วไป ExpiresDefault A604800 Header ผนวก Cache-Control "proxy-revalidate"
  8. เปิดใช้การบีบอัด Gzip ใน htaccess
  9. บีบอัดเอาต์พุตใช้ zlib.output_compression หรือ mod_deflate
  10. ใช้เครือข่ายการจัดส่งเนื้อหา (CDN) สำหรับการถ่ายโอนเนื้อหาสแตติกแบบขนาน : มีส่วนขยายของวีโอไอพีที่สามารถช่วยให้คุณทำเช่นนี้กับหมวดหมู่และผลิตภัณฑ์ภาพเป็นหนึ่ง Pica ภาพ CDN แต่ ... (ดูเคล็ดลับถัดไป)
  11. อย่าใช้แหล่งข้อมูลภายนอกที่แตกต่างกันมากเกินไป (สำหรับรูปภาพ, iframes, (twitter / facebook) ฟีดเป็นต้น) เนื่องจากการค้นหา DNS ทุกครั้งใช้เวลาพิเศษและคุณสร้างการพึ่งพาเพิ่มเติม (บนเซิร์ฟเวอร์บุคคลที่สาม) สำหรับเว็บไซต์ของคุณโหลดอย่างถูกต้อง .
  12. เปิดใช้งาน Apache KeepAlives: ตรวจสอบให้แน่ใจว่าการกำหนดค่า Apache ของคุณเปิดใช้งาน KeepAlives KeepAlives เป็นเคล็ดลับที่สามารถร้องขอช่องทาง HTTP หลายช่องทางผ่านการเชื่อมต่อ TCP เดียว การตั้งค่าการเชื่อมต่อ TCP แต่ละครั้งจะมีเวลาเพิ่มขึ้นซึ่งจะช่วยลดเวลาที่ใช้ในการดาวน์โหลดไฟล์ทั้งหมด (HTML, JavaScript, ภาพ) สำหรับเว็บไซต์ ข้อมูลเพิ่มเติมได้ที่Apache.org ระวังหน่อยนะฉันได้ยินมาบ้างแล้วว่าสิ่งนี้สร้างการโหลดเพิ่มเติมจำนวนมากบนเซิร์ฟเวอร์และอาจทำให้เซิร์ฟเวอร์เสียหายในช่วงเวลาที่มีการรับส่งข้อมูลสูง!
  13. ลดการเปลี่ยนเส้นทางให้สั้นสุด
  14. ทำให้เอาต์พุตของคุณเป็นไปตามมาตรฐาน W3C ข้อผิดพลาดทำให้เบราว์เซอร์ช้าลง
  15. สลับ Apache สำหรับ NginX หรือ Litespeed หากนี่ไม่ใช่ตัวเลือกให้ไปที่เซิร์ฟเวอร์ Zend (ควรเป็นรุ่นที่ไม่ใช่ CE เพื่อให้คุณสามารถใช้การแคชแบบเต็มหน้า)
  16. ปิดหรืออย่างน้อยก็ลดการบันทึกของเว็บเซิร์ฟเวอร์ (ลดการเขียนดิสก์)
    • ปิดใช้งานการบันทึกเวลาเข้าถึง Magento Wiki : สำหรับเซิร์ฟเวอร์ Linux หากคุณเปิดใช้งานการบันทึกเวลาการเข้าถึงบนพาร์ติชัน mysql เว็บเซิร์ฟเวอร์หรือแคชของคุณลองปิดมันเพื่อเพิ่มประสิทธิภาพ หากคุณใช้ ext3 หรือผู้แจ้งซ้ำอาจมีวิธีการเขียนบันทึกที่รวดเร็วกว่าที่คุณสามารถใช้ได้ สำหรับข้อมูลเพิ่มเติมโปรดดูที่Linux.com
  17. รวบรวม MySQL จากแหล่งที่มาแทนที่จะเป็นผู้จัดการแพ็คเกจของระบบปฏิบัติการ
  18. อัพเกรดเป็นเวอร์ชั่นล่าสุดเสมอ ไม่เพียง แต่คุณจะได้รับคุณสมบัติเพิ่มเติมและแก้ไขข้อบกพร่องและความปลอดภัยเท่านั้น แต่ทุกครั้งที่วีโอไอพีอัพเดตทำงานได้ดีขึ้น
  19. ขนาดของคิวรีแคช: บล็อกวีโอไอพี : แก้ไขการกำหนดค่าสำหรับเซิร์ฟเวอร์ MySQL ของคุณเพื่อใช้ประโยชน์จาก RAM ของเซิร์ฟเวอร์ให้ดีขึ้น ลีนุกซ์ส่วนใหญ่มีแพ็คเกจ MySQL แบบอนุรักษ์ไว้นอกกรอบเพื่อให้แน่ใจว่ามันจะทำงานบนการกำหนดค่าฮาร์ดแวร์ที่หลากหลาย หากคุณมี RAM เหลือเฟือ (เช่น 1GB หรือมากกว่า) คุณอาจต้องลองปรับแต่งค่า ตัวอย่าง my.cnf อยู่ด้านล่างแม้ว่าคุณจะต้องการศึกษาเอกสารคู่มือ MySQL สำหรับรายการคำสั่งกำหนดค่าและการตั้งค่าที่แนะนำทั้งหมด
  20. ตั้งค่า 'php_value memory_limit 128M' ในการกำหนดค่า php ของคุณหรือเพิ่มลงในไฟล์. htaccess ของคุณเพื่อให้แน่ใจว่าคุณไม่มีหน่วยความจำไม่เพียงพอ
  21. ใช้ระบบไฟล์ที่ใช้หน่วยความจำสำหรับข้อมูลแบบไดนามิก หากคุณเก็บข้อมูลแบบไดนามิก ( var / cache , var / session ) บน RAMdisk หรือ tmpfs ดิสก์ I / O จะลดลง
  22. เปลี่ยน realpath_cache_size ใน php.ini
    realpath_cache_size = 1M ( ระวัง, นี้คือ ต่อกระบวนการ Apache )    realpath_cache_ttl=86400 (ok for production site) 
  23. Memcache (สำหรับผู้ไม่ยอมใครง่ายๆ) มีการบันทึกไว้ในhttp://www.magentocommerce.com/boards/viewthread/9037/และเคล็ดลับเพิ่มเติมจาก http://alexle.net/archives/275 เพื่อให้คุณพร้อม
  24. ปิดการใช้งานคำสั่ง PHP open_basedir อ่าน
  25. กำจัดโครงสร้างไดเรกทอรีสแกนไฟล์. htaccess
  26. แนะนำ innodb_buffer_pool_size
    • เว็บรวมและเซิร์ฟเวอร์ db, RAM 6 GB:  2-3 GB
    • เซิร์ฟเวอร์ฐานข้อมูลเฉพาะ 6GB RAM: 5 GB
    • เซิร์ฟเวอร์ฐานข้อมูลเฉพาะ 12 GB RAM: 10 GB
  27. Query Cach: query_cache_size: 64MB, query_cache_limit: 2MB
  28. ใช้เซิร์ฟเวอร์แบ็กเอนด์แยกส่วนเพื่อจัดการผู้ใช้ผู้ดูแลระบบประมวลผลกิจกรรมแบ็กเอนด์ (cron) สร้างแคชล่วงหน้าแบบเต็มหน้าและจัดการคิวรีสื่อ
  29. ใช้เว็บหลายโหนด (เซิร์ฟเวอร์ส่วนหน้า) เพื่อจัดการการค้นหาและชำระเงิน
  30. ใช้การแคชพร็อกซีวานิชแบบย้อนกลับคำอธิบายวีโอไอพีโดย @alistairstead: ทาเคลือบร้านวีโอไอพีของคุณแล้วทำให้มันบินได้!
  31. หากคุณมีเว็บไซต์ยอดนิยมที่มีการสืบค้นข้อมูลอย่างหนักจาก searchengines คุณสามารถประหยัดทรัพยากรได้โดย tweaking robots.txt ของคุณ
  32. ลองใช้ส่วนขยายแคชเหล่านี้:
    • http://www.artio.net/magento-extensions/m-turbo-accelerator
    • http://www.aitoc.com/en/magento_booster.html
    • http://www.tinybrick.com/magento-modules/performance.html/
  33. ติดตั้งส่วนเสริม Yireo DisableLog มันป้องกันไม่ให้ Magento เขียนข้อมูลจำนวนมากไปยังฐานข้อมูลของคุณซึ่งไร้ประโยชน์เมื่อคุณใช้งานอะไรบางอย่างเช่น Google Analytics อยู่แล้ว

B) เทมเพลต

  1. ปรับภาพ (เทมเพลต) ทั้งหมดของคุณให้ดีที่สุด - มากที่สุดหากไม่ใช่ทั้งหมดควรมีอย่างน้อย 10kb
    • ครอบตัดพื้นที่สีขาวโดยใช้เครื่องมือแก้ไขรูปภาพของคุณ
    • ใช้ไฟล์ PNG8 หรือไฟล์ GIF แทนที่จะเป็น Jpegs และไม่ใช้ความโปร่งใส (ขึ้นอยู่กับจำนวนสีที่คุณใช้และขนาดของภาพที่ใหญ่ แต่ลองด้วยตัวเอง)
    • ปรับขนาดรูปภาพ: สร้างภาพในขนาดที่คุณต้องการและไม่ปรับขนาดในเครื่องมือแก้ไข
    • ใช้การบีบอัดรูปภาพ (คุณสามารถใช้smush.itเพื่อทำเพื่อคุณ)
    • ใช้ CSS Sprites มีแม้กระทั่งCSS ปั่นไฟสไปรท์
  2. ลดขนาด Css ของคุณลบรหัสที่ไม่ได้ใช้
  3. ใช้ Javascript ให้เล็กสุด
  4. ใช้เทมเพลตน้ำหนักเบาเป็นพื้นฐานสำหรับแม่แบบของคุณ ยกตัวอย่างเช่นที่: ธีม SEO Yoast ที่ว่างเปล่า
  5. ระบุขนาดของภาพ
  6. ใช้ Block cache และ HTML output ในส่วนขยายของคุณ
  7. สมัคร Javascript ขี้เกียจพับสำหรับต้นแบบ

C) การกำหนดค่าวีโอไอพี

  1. ถอนการติดตั้งส่วนขยายใด ๆ ที่คุณไม่ได้ใช้งานจริง
  2. ปิดใช้งานโมดูลที่คุณไม่ได้ใช้:  ระบบ -> การกำหนดค่า -> ขั้นสูง -> ขั้นสูง ! [ใส่คำอธิบายภาพที่นี่] [1]
  3. เปิดใช้งานแคช Magento ทั้งหมด: ระบบ -> การจัดการแคช  
  4. ใช้เครื่องมือติดตามสถิตินอกสถานที่เช่น Google Analytics และไม่ใช่เครื่องมือติดตามสถานที่ ส่วนใหญ่จะใช้ Javascript โฮสต์ Javascript ด้วยตัวคุณเอง
  5. รวม Javascript และรวมไฟล์ CSS : ระบบ -> การกำหนดค่า -> Advanced -> นักพัฒนาซอฟต์แวร์ -> 'Javascript การตั้งค่า'และ'การตั้งค่า CSS' คุณสามารถลองใช้ส่วนขยายเพื่อทำสิ่งนี้เช่นส่วนขยาย Fooman Speedsterแล้วแต่ว่าสิ่งใดจะดีที่สุดสำหรับคุณ
  6. ลองใช้ส่วนเสริมประสิทธิภาพของวีโอไอพีบางส่วน
  7. เปิดใช้งานแคตตาล็อก Magento Flat มีประโยชน์สำหรับแคตตาล็อกขนาดใหญ่เท่านั้นที่จะรู้สึกถึงการปรับปรุง
  8. อย่าใช้การนำทางแบบเลเยอร์หากคุณไม่ต้องการใช้มันเป็นทรัพยากรเข้มข้น
  9. ใช้คุณสมบัติการรวบรวมของวีโอไอพี มีการรายงานเพื่อเพิ่มประสิทธิภาพ 25% -50% ให้กับคุณ: ระบบ> เครื่องมือ> การรวบรวม แก้ไข: Yoav Kutner (Magento CTO) แจ้งให้เราทราบว่า " ในรุ่นที่ใหม่กว่าเนื่องจากเราปรับปรุงแคตตาล็อก EAV, การรวบรวมวีโอไอพีไม่จำเป็นจริงๆถ้าคุณมีการแคชรหัสไบต์และหากมีการกำหนดค่าอย่างถูกต้อง "
  10. ใช้ที่เก็บข้อมูลเซสชันที่ถูกต้องเลือกระบบไฟล์หรือฐานข้อมูล (ระหว่างการตั้งค่า) การติดตั้งส่วนใหญ่ควรใช้ "ระบบไฟล์" เพราะมันเร็วกว่าและไม่ทำให้ฐานข้อมูลเติบโต แต่ถ้าเว็บไซต์ของคุณจะทำงานบนเซิร์ฟเวอร์หลายเครื่องคุณควรเลือก "ฐานข้อมูล" เพื่อให้ข้อมูลเซสชันของผู้ใช้พร้อมใช้งานไม่ว่าเซิร์ฟเวอร์ของเขา / เธอจะได้รับการร้องขอจากที่ใด ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้จาก Ashley Schroder ที่ Magebase.com
  11. จำกัด จำนวนผลิตภัณฑ์ในหน้าภาพรวมผลิตภัณฑ์
  12. ตั้งค่าคุณสมบัติส่วนหน้าของแอตทริบิวต์เหล่านั้นเป็น 'ใช่' ที่คุณจะใช้จริง ตั้งค่าอื่นทั้งหมดเป็น 'ไม่' อย่าใช้ในการค้นหาอย่างรวดเร็วเปรียบเทียบการค้นหาขั้นสูง ฯลฯ : แคตตาล็อก -> คุณสมบัติ -> จัดการคุณสมบัติ -> คุณสมบัติส่วนหน้า  
  13. ปิดการใช้งานบันทึกวีโอไอพี: ระบบ -> การกำหนดค่า -> ขั้นสูง -> ผู้พัฒนา -> การตั้งค่าการบันทึก (ค่าเริ่มต้นถูกปิดใช้งาน)  

เคล็ดลับสำหรับองค์กรเท่านั้น:

  • ปิดใช้งาน Enterprise_CatalogEvent ไปที่ผู้ดูแลระบบ -> ระบบ -> การกำหนดค่า -> แคตตาล็อก -> กิจกรรมแคตตาล็อก จากนั้นคุณต้องการปิดการตั้งค่าสำหรับ "เปิดใช้งานฟังก์ชั่นกิจกรรมแคตตาล็อก" และ "เปิดใช้งาน Widget กิจกรรมแคตตาล็อก"
  • เปิดใช้งานการค้นหา Solr เร็วกว่าการตั้งค่าเริ่มต้นโดยเฉพาะเมื่อคุณมีผลิตภัณฑ์จำนวนมาก (> 10k)
  • เปิดใช้งานการแคชแบบเต็มหน้า

D) การทดสอบความเร็วการวิเคราะห์การตรวจสอบ

  1. ทดสอบไซต์ของคุณด้วย Magento Speed ​​Test (โดย Ashley Schroder)
  2. เปิดเว็บไซต์ของคุณผ่านทางเว็บไซต์optimization.com
  3. ใช้ส่วนขยายของ Google Page Speed ​​Firefox หรือYahoo Yslowสำหรับเคล็ดลับจาก Google และ Yahoo
  4. ใช้การวัดความเร็วของ Google ใน Analytics: วัดความเร็วในการโหลดหน้าเว็บด้วยรายงานการวิเคราะห์ความเร็วไซต์
  5. การตรวจสอบความเร็วและการแจ้งเตือนการหยุดทำงาน
    • Mon.itor.us
    • Pingdom

เคล็ดลับโบนัส

(เพราะมันไม่ได้เร่งความเร็วส่วนหน้า แต่เป็นเพียงส่วนหลัง):

  • ใช้ K-Meleon ถ้าคุณใช้ Windows สำหรับงานธุรการทั่วไป ทำให้แบ็กเอนด์ JS ของ Magento หนักกว่าเร็วกว่าเบราว์เซอร์อื่น ๆ
  • ใช้ส่วนขยาย GoogleGears จาก Yireo.comเพื่อแคชไฟล์คงที่แบบโลคัล
  • ใช้แอปพลิเคชัน pc / mac ในพื้นที่เพื่อจัดการ Magento (เช่น  mag-manager.com )

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


4
  1. รูปภาพ - ฉันเคยเห็นหลาย ๆ กรณีที่บุคคลที่อัปโหลดรูปภาพ (ผลิตภัณฑ์หน้า CMS และอื่น ๆ ) ไม่ได้รับการฝึกฝนในการปรับขนาดภาพให้เหมาะสม มีบทความจำนวนมากที่มีออนไลน์ แต่ส่วนมากมันเป็นแค่สามัญสำนึก

    • อย่าใช้รูปภาพเป็นข้อความ
    • ใช้ JPEG / GIF / PNG อย่างเหมาะสม (เช่นโดยทั่วไปจะไม่ใช้ PNG สำหรับถ่ายภาพ)
    • ใช้สไปรต์สำหรับรูปภาพขนาดเล็กเนื่องจากคุณสามารถแพ็ครูปภาพขนาดเล็กจำนวนมากเป็นไฟล์เดียวให้คุณร้องขอ HTTP เดียวแทนที่จะเป็นหลายสิบหรือมากกว่า คุณอาจพิจารณาไอคอนตัวอักษรเช่นกัน
    • บันทึกภาพด้วยคุณภาพต่ำสุดที่เป็นไปได้ในขณะที่ยังคงสามารถดูได้ ฉันพบว่าจุดหวานที่มักจะมีคุณภาพประมาณ 50-60 สำหรับ JPEG บางครั้งคุณภาพของ 20 ก็เป็นที่ยอมรับอย่างสมบูรณ์และคุณอาจลดภาพจาก 300Kb เป็น 30Kb นั่นคือการออมที่ยิ่งใหญ่
    • พิจารณาการโหลดแบบขี้เกียจบนเพจที่มีน้ำหนักมาก
  2. คำขอ HTTP - ผู้กระทำความผิดใหญ่อีกคนหนึ่ง บางครั้งมีไม่มากที่คุณสามารถทำได้เพื่อลดการร้องขอ แต่คุณควรพยายามทำให้เรื่องนี้ต่ำที่สุดเท่าที่จะทำได้ Magento มีคุณสมบัติบางอย่างที่จะช่วยได้ในกรณีนี้ (รวม CSS / JS)

  3. การค้นหา DNS เพิ่มเติม - ฉันว่านี่เป็นสิ่งสำคัญที่สุดสำหรับกระบวนการตะกร้าสินค้า / เช็คเอาต์ ร้านค้าจำนวนมากจะมีการรวม API ที่หลากหลายที่เรียกใช้บริการ แม้ว่าคุณจะไม่สามารถทำการตอบสนอง API จากผู้ให้บริการจัดส่งได้เร็วขึ้น แต่อย่างน้อยคุณสามารถระบุบริการที่ช้าซึ่งไม่น่าจะเห็นได้ชัดเจน ลองนึกถึงเวลาเพิ่มเติมในการเช็คเอาต์หากคุณโทรไปยัง UPS, FedEx, USPS, ผู้ให้บริการอัตราภาษี, ผู้ให้บริการชำระเงิน, เว็บไซต์พันธมิตร ฯลฯ

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


ฉันคิดว่ามีความสำคัญมากเกินไปในการโฮสต์เพียงอย่างเดียว ในอดีตฉันได้รับมอบหมายให้ทำการปรับแต่งเซิร์ฟเวอร์บางอย่างเพื่อให้เว็บไซต์มีความเร็วมากขึ้นเท่านั้นเพื่อค้นหาว่าหน้าแรกกำลังโหลดเนื้อหา 20 ล้าน Mb

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

สำหรับบันทึกเว็บไซต์ที่ฉันจัดการใช้ SIP-200 บน Nexcess ประมาณห้าปีหรือมากกว่านั้นและได้รับโดยเฉลี่ย 5,000 ครั้งต่อวัน (เป็นฤดูกาลดังนั้นจึงมียอดเขามากกว่า 10k ในปลายฤดูใบไม้ผลิ / ต้นฤดูใบไม้ร่วง) ฉันไม่มีข้อร้องเรียนใด ๆ เกี่ยวกับเซิร์ฟเวอร์ระดับนี้สำหรับเว็บไซต์นี้และเรากำลังเรียกใช้ Magento CE รุ่นที่ค่อนข้างมีสต็อคที่มีผลิตภัณฑ์หลายพันรายการในหลายสิบหมวดหมู่


2

รูปภาพเป็นปัญหาใหญ่ในอินเทอร์เน็ตเกือบจะเป็นปัญหาใหญ่เท่ากับจาวาสคริปต์ สิ่งแรกที่คุณต้องทำคือปรับภาพให้เหมาะสม

  • ตั้งค่าเครือข่ายการจัดส่งเนื้อหา
  • ปรับภาพให้เหมาะสม
  • ใช้ Image LazyLoader

ตอนนี้ไปยังไฟล์Javascriptของคุณ:

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

แคชอย่างบ้าคลั่ง

  • เปิดใช้งานการแคช MySql และเพิ่มขนาดของพูลหน่วยความจำ
  • เปิดใช้งานการแคช APC เพื่อให้ PHP ไม่จำเป็นต้องเรียนรู้ใหม่ทุกครั้ง
  • เปิดใช้งานการแคชแบบเต็มหน้าของวีโอไอพีและใช้ Apache Caching
  • เปิดใช้งาน GZIP เพื่อส่งไฟล์ของคุณไปยังผู้ใช้เร็วขึ้น
  • เปิดใช้งานส่วนหัว Expires ที่เหมาะสมเพื่อให้ผู้ใช้ของคุณแคชด้วย

Magentoยังมีกลไกการแคชภายในจำนวนมาก:

  • เปิดใช้งานการแคชวีโอไอพีที่ชัดเจน
  • เปิดใช้งานการบีบอัดและรวบรวม CSS และ JS จากผู้ดูแลระบบ
  • เปิดใช้งานแคตตาล็อกและผลิตภัณฑ์ Flat เพื่อเพิ่มความเร็วการโทร mysql
  • เปิดใช้ Magento Compiler เพื่อเร่งความเร็ว PHP อัตโนมัติ

หากคุณต้องการรายละเอียดเพิ่มเติมฉันได้ดึงข้อมูลจากฐานความรู้นี้แล้ว


0

นี่คือสิ่งที่ฉันอยากจะแนะนำเพื่อเพิ่มความเร็วของเว็บไซต์ Magento:

  1. ดำเนินการตรวจสอบส่วนขยายบุคคลที่สามและตรวจสอบ TTFB ปลั๊กอินที่กำหนดเองบางตัวทำให้ Magento ช้าลง รับรายชื่อของโมดูลบุคคลที่สามทั้งหมดและปิดการใช้งานพวกเขาหนึ่งโดยหนึ่ง มาตรฐานความเร็วด้วย www.webpagetest.org เมื่อคุณระบุผู้ที่ละเมิดติดต่อผู้จำหน่ายเพื่อแจ้งให้ทราบ เมื่อต้องการเรียกใช้การตรวจสอบ TTFB ติดตั้งโปรแกรมฟรีxhprofหรือใช้NewRelic

  2. ตรวจสอบว่าทรัพยากรการโฮสต์ของคุณเพียงพอที่จะเรียกใช้ Magento หรือไม่ ติดตั้ง Magento รุ่นใหม่ในเวอร์ชันเดียวกันบนโฮสติ้งของคุณ เปรียบเทียบความเร็วกับเว็บไซต์สด ถ้ามันเร็วกว่าเว็บไซต์ของคุณแสดงว่าโฮสติ้งของคุณเป็นปกติ ถ้ามันช้าเท่ากับเว็บไซต์ของคุณแสดงว่าโฮสติ้งของคุณไม่ดี

  3. ดำเนินการเพิ่มประสิทธิภาพส่วนหน้าต่างๆ สิ่งเหล่านี้รวมถึง: การปรับภาพให้เหมาะสม, การบีบอัด gzip, การย่อ CSS / JS คุณจะได้รับรายงานของสิ่งที่คุณต้องทำโดยใช้เว็บไซต์ของคุณกับGoogle PageSpeed Insights

ที่นำมาจากฉันบทความ


วิธีที่ดีที่สุดในการตรวจสอบส่วนขยายของบุคคลที่สามคืออะไร ขอบคุณ @Konstantin Gerasimov
Gem

0
  • คุณต้องมุ่งเน้นทั้งการเพิ่มประสิทธิภาพเว็บไซต์ของคุณ (โครงสร้าง, CSS, ภาพ, ฯลฯ ) และในการหาโฮสต์ที่รวดเร็วจริงๆ

  • ฉันขอแนะนำให้คุณมองหาโฮสต์ที่ให้ที่เก็บข้อมูล SSD และ Cloudflare CDN และบริการโฮสติ้งที่ได้รับการปรับแต่งเป็นพิเศษสำหรับเว็บไซต์ที่ใช้ Magento

  • ขณะนี้ฉันใช้แผน '' ยอดนิยม '' ที่เรียกว่าสำหรับเว็บไซต์ของฉันและมันทำงานได้ดีมาก

  • นี่คือรายละเอียดเต็ม: https://www.bgocloud.com/hosting/websites-cpanel/popular-plan

หากคุณคิดว่าคุณสมบัติเหล่านี้ไม่เหมาะกับคุณคุณสามารถดูแผนอื่นหรือที่หน้าเซิร์ฟเวอร์เฉพาะ


-1

ฉันพบสิ่งที่สำคัญที่สุด # 1 เกี่ยวกับความเร็วไซต์และ magento คือเซิร์ฟเวอร์ของคุณ คุณอยู่ในโฮสต์เฉพาะหรือไม่ คุณต้องเป็น โดยเฉพาะอย่างยิ่งหนึ่งที่มีไดรฟ์ SSD ส่วนที่ช้าที่สุดของ Magento คือวิธีที่มันประมวลผล PHP และแสดงหน้าเว็บและวิธีเดียวที่จะต่อสู้นั่นคือเซิร์ฟเวอร์ที่ดีกว่า แคชแบบเต็มหน้าให้ลอง Lesti FPC


สวัสดีขอบคุณสำหรับคำตอบของคุณ ฉันมีความรู้สึกว่าการกำหนดค่าเซิร์ฟเวอร์ของเราอาจไม่ใช่สิ่งที่เราต้องการ แต่ฉันใหม่ที่นี่และเพิ่งเรียนรู้ระบบของพวกเขาและไม่ต้องเจาะลึกด้านผู้ดูแลระบบของงานก่อน ฉันขุดใบแจ้งหนี้ล่าสุดของเรา (สมมติว่านี่เป็นเซิร์ฟเวอร์ที่เราใช้งาน Magento): 18636 Dual Xeon E5-2609 (E52609) RAM: ฮาร์ดไดรฟ์ 16GB 1: 500GB ฮาร์ดไดรฟ์ SATA 2: 500GB SATA ฮาร์ดไดรฟ์ 3: 64GB Samsung 830 SSD ฮาร์ดไดรฟ์ 4: ไม่มีตัวควบคุมฮาร์ดไดรฟ์: ตัวควบคุมออนบอร์ด
แบรนดอน

ฉันไม่เห็นด้วยกับคำตอบนี้ หากเว็บไซต์ของคุณจมอยู่กับภาพขนาดใหญ่คำขอ HTTP จำนวนมากและคำขอบริการบุคคลที่สาม (UPS การค้นหาภาษี ฯลฯ ) โฮสต์ที่ดีที่สุดในโลกจะไม่ทำอะไรให้คุณเลย ให้ไซต์ทำงานอย่างถูกต้องเพื่อเริ่มต้นจากนั้นพิจารณาอัปเกรดโฮสต์ถ้ามี
pspahn

FYI Brandon Samsung 830 เป็นดิสก์ไดรฟ์ที่ออกแบบมาสำหรับคอมพิวเตอร์ที่บ้านไม่ใช่เซิร์ฟเวอร์ ดูเหมือนว่าเซิร์ฟเวอร์ของคุณจะไม่เป็นเซิร์ฟเวอร์เลย
choco-loo

-1

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


-1

หรือคุณข้ามสิ่งนั้นใช้เทคโนโลยีสแต็คเดียวกับ Etsy โฮสติ้งเดียวกับหลายโหนดข้าม fpc ใกล้ fpc ttfb, โหลดแบบไดนามิก 1-2 วินาทีและใช้ Pagespeed ทั้งหมดที่รวมเข้าด้วยกันเพื่อให้คุณเป็นคนทั่วกระดาน . ตอนนี้ถ้าคุณมีตัวแปลงสัญญาณและส่วนขยายที่เพิ่มขึ้นอย่างกระตือรือร้นมีข้อ จำกัด ขึ้นอยู่กับว่าคุณต้องการใช้เส้นทางเทคโนโลยีและต้องผ่านมันไปในระดับที่ n ซึ่งโปรแกรมเมอร์จะไม่เห็นด้วยกับธุรกิจหรือคุณใช้มุมมองทางธุรกิจและหาทางออกที่ดีที่สุดโดยไม่คำนึงถึงการประท้วงทางเทคโนโลยี งาน.

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