มีหลายขั้นตอนที่คุณสามารถทำได้เพื่อเพิ่มประสิทธิภาพด้านเซิร์ฟเวอร์ โปรดทราบว่าบางส่วนของสิ่งเหล่านี้จะไม่ทำงานกับโฮสต์ที่ใช้ร่วมกันส่วนใหญ่ เพื่อประสิทธิภาพที่ดีคุณมักจะต้องการการควบคุมที่ละเอียดยิ่งขึ้น
เช่นเดียวกับการเพิ่มประสิทธิภาพคุณควรวัดผลกระทบที่มีต่อประสิทธิภาพของไซต์ของคุณ สำหรับการปรับให้เหมาะสมขั้นพื้นฐานคือเครื่องมืออย่างPageSpeedและYSlow ที่เป็นประโยชน์ (ฉันแนะนำรุ่น Firefox) เพื่อความเข้าใจในเชิงลึกยิ่งขึ้นคุณจะต้องวัดเวลาตอบสนองที่แท้จริงของระบบสดของคุณในช่วงเวลาหนึ่ง
PHP
เปิดใช้งาน Opcode Caching
นี่อาจเป็นสิ่งที่ยิ่งใหญ่ที่สุดที่คุณสามารถทำได้เพื่อเพิ่มประสิทธิภาพของไซต์ของคุณ ผมขอแนะนำให้ทั้งการใช้OpCacheหรือAPC การกำหนดค่าแคชเหล่านี้สามารถปรับแต่งเพื่อให้ได้ประสิทธิภาพที่ดียิ่งขึ้นตามความต้องการเฉพาะของเซิร์ฟเวอร์และไซต์ แต่การติดตั้งเพียงอย่างเดียวก็เพิ่มขึ้นอย่างมาก
อัปเดตเวอร์ชัน PHP
เวอร์ชัน PHP ที่ใหม่กว่ามาพร้อมกับการปรับปรุงประสิทธิภาพเป็นประจำ นอกจากนี้ยังมีหลายกรณีที่ Joomla สามารถใช้รหัสที่ดีกว่าเมื่อใช้งานบน PHP เวอร์ชันใหม่กว่า ณ วันนี้คุณไม่ควรใช้ PHP เวอร์ชันเก่ากว่า PHP 5.4 หากคุณใส่ใจกับประสิทธิภาพ
การตั้งค่า PHP
สำหรับเวอร์ชันเก่าของ PHP (<= 5.3) โปรดระมัดระวังในการปิดregister_globals
และmagic_quotes_gpc
รับประสิทธิภาพการทำงานฟรี ใน PHP> = 5.6 เปลี่ยนalways_populate_raw_post_data
เป็น -1
ส่วนขยาย PHP
Joomla มีรหัสบางอย่างเพื่อแก้ไขส่วนขยาย PHP ที่ขาดหายไป สิ่งนี้จะช้ากว่าส่วนขยายเหล่านั้นเสมอ สำหรับการปรับปรุงประสิทธิภาพการทำงานที่ดีติดตั้งส่วนขยายต่อไปนี้: mbstring
, zip
,ftp
เว็บเซิร์ฟเวอร์
เปิดใช้งาน gzip
การเปิดใช้งานการบีบอัดฝั่งเซิร์ฟเวอร์ทำการซื้อขายแบนด์วิดท์สำหรับทรัพยากร CPU สำหรับไซต์ส่วนใหญ่แล้วนี่เป็นการโทรที่ถูกต้อง ใช้ความระมัดระวังในการบีบอัดข้อมูลที่เป็นข้อความเท่านั้นการบีบอัดข้อมูลไบนารีจะทำให้ CPU ของคุณถูกโจมตีโดยไม่ต้องใช้แบนด์วิดท์ คุณสามารถเปิดใช้งานการบีบอัดในการตั้งค่า Joomla ได้ แต่จะดีกว่าถ้าคุณปล่อยให้เซิร์ฟเวอร์จัดการกับสิ่งนี้
บีบอัดทรัพยากรคงที่ล่วงหน้า
ฉันไม่ได้พูดถึง minfication (แต่ก็ช่วยได้เช่นกัน) แต่คุณสามารถกำหนดค่า Nginx และ Apache ให้กับเซิร์ฟเวอร์ที่มีการบีบอัดทรัพยากรอยู่แล้ว คะแนนโบนัส: ใช้Zopfliสำหรับไฟล์ที่เล็กกว่า
ใช้ FastCGI สำหรับ PHP
php-fpm
โดยเฉพาะอย่างยิ่งที่คุณควรใช้ สิ่งนี้จะป้องกันการเริ่มต้น PHP เมื่อเบราว์เซอร์ร้องขอไฟล์ที่ไม่ใช่ PHP
ใช้ส่วนหัวแคชที่เหมาะสม
การใช้Expires
ส่วนหัวสามารถลดทรัพยากรเซิร์ฟเวอร์ที่จำเป็นอย่างมาก หลังจากคำขอที่เร็วที่สุดคือสิ่งที่ไม่เคยทำ
อาปาเช่
โดยทั่วไปฉันแนะนำให้ใช้ Nginx สำหรับเว็บไซต์ที่มีประสิทธิภาพสูง หากคุณจำเป็นต้องใช้ Apache ด้วยเหตุผลบางอย่างฉันได้รับเคล็ดลับโบนัส:
ปิดใช้งาน AllowOverride
การตั้งค่าAllowOverride
เพื่อNone
ป้องกันดิสก์ IO และดิสก์จำนวนมาก
Joomla
อย่าใช้โหมด FTP
แม้ว่าจะไม่ส่งผลกระทบต่อผู้ใช้ของคุณที่อ่านเว็บไซต์ แต่มันจะชะลอการทำงานบางอย่างเช่นการติดตั้งส่วนขยาย
ปิดส่วนขยายที่ไม่ได้ใช้
สิ่งนี้ดำเนินไปเป็นพิเศษสำหรับปลั๊กอินโดยส่วนใหญ่จะทำงานตามคำขอทั้งหมด การปิดใช้งานเมนูและส่วนประกอบเป็นประโยชน์อย่างมากเมื่อแสดงรายการส่วนขยายและประเภทเมนูที่ใช้ได้ นอกจากนี้ยังใช้เวลา 5 นาทีในการขยายส่วนเสริมที่มาพร้อมกับแกน Joomla และปิดการใช้งานส่วนที่คุณไม่ได้ใช้
ปิดการเตรียมเนื้อหา
หากคุณใช้โมดูลที่กำหนดเองจำนวนมาก ( mod_custom
ไม่ใช่แบบกำหนดเองเหมือนเขียนด้วยตนเอง) ตรวจสอบว่าคุณสามารถปิดใช้งานการเตรียมเนื้อหาในสิ่งเหล่านั้นได้หรือไม่ สิ่งนี้จะบันทึกการประมวลผลบางอย่าง
ใช้การแคช
หากคุณจริงจังกับประสิทธิภาพคุณจะต้องเปิดใช้งานการแคช มีประโยชน์อย่างยิ่งสำหรับการอ่านเว็บไซต์จำนวนมากที่มีผู้ใช้ที่ไม่ระบุชื่อจำนวนมาก ผู้ใช้ที่เข้าสู่ระบบจะข้ามแคชส่วนใหญ่หากคุณมีสิ่งเหล่านี้จำนวนมากผลจะไม่ใหญ่มาก
ใช้ตัวจัดการเซสชั่นทางเลือก
โดยใช้ตัวจัดการเซสชั่นทางเลือกคุณสามารถฟรีฐานข้อมูลของคุณสำหรับสิ่งที่สำคัญกว่า ฉันไม่แนะนำไฟล์ (เรียกอย่างสับสนว่าไม่มีในการตั้งค่า Joomla) เนื่องจากจะทำให้ดิสก์ IO เพิ่มขึ้นอีกครั้ง การใช้ APC นั้นอาจเร็วกว่า แต่เพิ่มความเสี่ยงในการสูญเสียข้อมูลเซสชันทั้งหมด พื้นกลางด้านขวาคือ Memcache แม้ว่าจะต้องใช้กระบวนการเพิ่มเติม แต่ก็มีความน่าเชื่อถือมากกว่า APC และเร็วกว่าการเก็บข้อมูลทั้งหมดในฐานข้อมูล
ทำให้ไซต์ของคุณง่าย
คุณต้องการปุ่ม Facebook จริง ๆ หรือไม่? ไอคอนน่ารักแบบไหนที่ไม่มีใครเห็นเพราะมันซ่อนอยู่หลังแบนเนอร์บางส่วน เว็บไซต์ของคุณยิ่งแสดงน้อยก็จะยิ่งเร็วขึ้นเท่านั้น นอกจากนี้ทุกที่ที่เป็นไปได้ใช้ CSS3 แทนภาพ
เบ็ดเตล็ด
ตั้งค่า favicon
ขอขอบคุณการตัดสินใจย้อนกลับไปยังเบราว์เซอร์Internet Explorer 4.0ทำให้การร้องขอไปยังไฟล์ที่เรียกว่าfavicon.ico
เมื่อใดก็ตามที่ผู้ใช้เยี่ยมชมเว็บไซต์ของคุณ หากคุณไม่มีสิ่งนี้จะทำให้ IO ไม่จำเป็นเนื่องจาก 404 การตอบกลับจะไม่ถูกแคช ระบุไอคอนเว็บไซต์ของคุณด้วยเมตาแท็ก HTML หรือเพิ่มไฟล์ที่เรียกว่าfavicon.ico
เว็บรูท ไม่ต้องการ favicon หรือ วาง PNG แบบโปร่งใสด้วยขนาด 1x1 พิกเซลในตำแหน่งนั้น .ico
โปรดทราบว่านามสกุลยังคงต้องการที่จะเป็น
ปรับภาพให้เหมาะสม
มันวิเศษมากที่คนเราประหยัดได้ด้วยการปรับภาพให้เหมาะสมโดยเฉพาะไฟล์ PNG มีเครื่องมือที่หลากหลายสำหรับระบบปฏิบัติการใด ๆ โดยส่วนตัวแล้วฉันใช้ImageOptimซึ่งใช้ได้กับ OS X รูปภาพหลักของ Joomla ได้รับการปรับให้เหมาะสมแล้ว แต่ไปใช้รูปภาพของคุณเองโดยเฉพาะแม่แบบนั้นมีความสำคัญ คุณสามารถตรวจสอบส่วนขยายที่คุณใช้ หากพวกเขาเป็นโอเพ่นซอร์สทำไมคุณไม่ส่งคำขอดึงที่มีภาพที่ปรับปรุงใหม่
ขั้นสูง
หากคุณต้องการออกไปข้างนอกจริงๆลองวางVarnishไว้หน้าเว็บไซต์ของคุณ มันแคชคำขอไปยังเว็บไซต์ของคุณและถ้าเป็นไปได้ให้บริการพวกเขาจากแคชของตัวเองไม่เคยชน Joomla มันเป็นเครื่องมือที่ซับซ้อน แต่มีพลังมาก Joomla จะไม่ใช้ประโยชน์จากฟังก์ชั่นขั้นสูงเช่น Edge Side รวม (ESI) แต่โค้ดของคุณสามารถทำได้