ไดเรกทอรีบทความ
网络营销การใช้ของมนุษย์เว็บไซต์ WordPress,ทำผู้จัดจำหน่ายไฟฟ้าและโปรโมชั่นเว็บ, ปรับปรุงความเร็วของเว็บไซต์, สามารถปรับปรุงได้ในระดับหนึ่งSEOผลกระทบ
ติดตั้งแล้วVestaCPแผงควบคุม ฯลฯลินุกซ์หลังจากระบบ สามารถเลือกส่วนขยายการแคชบางรายการเพื่อปรับปรุงความเร็วของ PHP ได้
ส่วนขยายแคชที่เห็นได้บ่อยคือ:
- APC
- อีแอคเซอเลอเรเตอร์
- เอ็กซ์แคช
- memcached
- Redis
อะไรคือความแตกต่างระหว่างพวกเขา?บทบาทคืออะไร?เราควรเลือกอย่างไร?
เฉิน เว่ยเหลียงฉันจะให้คำตอบคุณในบทความนี้
XNUMX. แคช PHP ทางเลือก (แคช APC)
แคช PHP ทางเลือก (แคช APC) เป็นเครื่องมือแคชแบบโอเพนซอร์สสำหรับ PHP ใช้เพื่อแคชโค้ดระดับกลางของ PHP ของ Opcode (ไฟล์อ็อบเจ็กต์)
แคชของ APC แบ่งออกเป็น 2 ส่วน:
- แคชของระบบ
- แคชข้อมูลผู้ใช้
แคชของระบบถูกใช้โดยอัตโนมัติ:
- ซึ่งหมายความว่า APC จะแคชผลลัพธ์การรวบรวมซอร์สโค้ดของไฟล์ PHP แล้วเรียกใช้การประทับเวลาอีกครั้ง
- หากยังไม่หมดอายุ ให้เรียกใช้ด้วยรหัสแคช
- แคชเริ่มต้นคือ 3600 (หนึ่งชั่วโมง)
แต่ก็ยังเสียเวลา CPU มาก
ดังนั้น คุณสามารถตั้งค่าแคชของระบบไม่ให้หมดอายุในไฟล์ php.ini และตั้งค่าแคชของระบบไม่ให้หมดอายุ (apc.ttl=0)
อย่างไรก็ตาม การทำเช่นนี้จำเป็นต้องรีสตาร์ทเว็บเซิร์ฟเวอร์ (เช่น apache) หลังจากเปลี่ยนโค้ด PHP
ในปัจจุบัน การทดสอบประสิทธิภาพ APC โดยทั่วไปหมายถึงแคชของเลเยอร์นี้
แท้จริงแล้ว แคช PHP ทางเลือก (แคช APC) ถือได้ว่าเป็นส่วนขยายแคชในหน่วยความจำ
เป็นส่วนขยายแคชฐานข้อมูล
XNUMX. eAccelerator
eAccelerator เป็นโปรแกรมเร่ง PHP แบบโอเพ่นซอร์สฟรี
- การเพิ่มประสิทธิภาพและการแคชเนื้อหาแบบไดนามิก ซึ่งสามารถปรับปรุงประสิทธิภาพการแคชของสคริปต์ PHP
- ดังนั้นสคริปต์ PHP สามารถเก็บไว้ในสถานะคอมไพล์เพื่อลดการใช้ทรัพยากรของเซิร์ฟเวอร์
- นอกจากนี้ยังปรับสคริปต์ให้เหมาะสมเพื่อปรับปรุงประสิทธิภาพการดำเนินการ เพิ่มประสิทธิภาพของโค้ด PHP 1-10 เท่า
- ปัจจุบัน eAccelerator ไม่รองรับ PHP5.5 หรือใหม่กว่า
ตามที่เข้าใจจากข้อความ:eAccelerator เป็นส่วนขยายของตัวเร่งความเร็วใน PHP
XNUMX. XCache
XCache เป็นโอเพ่นซอร์ส opcode buffer/optimizer ที่ช่วยเพิ่มประสิทธิภาพ PHP บนเซิร์ฟเวอร์
- คุณสามารถหลีกเลี่ยงกระบวนการคอมไพล์ซ้ำได้ด้วยการแคชข้อมูล PHP ที่คอมไพล์แล้วในหน่วยความจำที่ใช้ร่วมกัน
- และคุณสามารถใช้บัฟเฟอร์โดยตรงเพื่อคอมไพล์โค้ดเพื่อปรับปรุงความเร็ว
- โดยทั่วไปสามารถเพิ่มอัตราการสร้างเพจได้ 2 ถึง 5 เท่า และลดภาระของเซิร์ฟเวอร์
จริงๆแล้วXCache เป็นส่วนขยายตัวเร่ง PHP
ประการที่สี่ memcached
Memcached เป็นระบบแคชวัตถุหน่วยความจำแบบกระจายที่มีประสิทธิภาพสูง:
- ใช้ในเว็บแอปพลิเคชันแบบไดนามิกเพื่อลดการโหลดฐานข้อมูล
- ช่วยลดจำนวนการอ่านฐานข้อมูลโดยการแคชข้อมูลและอ็อบเจ็กต์ในหน่วยความจำ จึงให้ความเร็วของเว็บไซต์ที่ขับเคลื่อนด้วยฐานข้อมูลแบบไดนามิก
สามารถเข้าใจได้จากข้อความ: การขยายแคชหน่วยความจำ ใช้สำหรับเซิร์ฟเวอร์คลัสเตอร์มากขึ้น ส่วนใหญ่ใช้สำหรับแคชแบบกระจาย
Memcached ถือเป็นส่วนขยายแคชของฐานข้อมูล
XNUMX. Redis
Redis เป็นฐานข้อมูลคีย์-ค่าที่มีประสิทธิภาพสูง
- การเกิดขึ้นของ redis ได้ชดเชยการขาดการจัดเก็บ keyalue เช่น memcached อย่างมาก
- ในบางกรณี มันสามารถเสริมฐานข้อมูลเชิงสัมพันธ์
- ในหลายกรณี Redis มักถูกนำมาเปรียบเทียบกับ memcached
หลายคนคิดว่า Redis สามารถแทนที่ memcached ได้อย่างสมบูรณ์ เนื่องจาก Redis มีประเภทข้อมูลที่สมบูรณ์กว่าและประสิทธิภาพไม่ได้อยู่ภายใต้ memcached:
- Redis มี memcached แต่ไม่;
- Memcached และ Redis มีทั้ง
เท่าที่ฉันทราบ Weibo ของ Sina และผลิตภัณฑ์ต่อพ่วงอื่นๆ นั้นใช้ Redis ซึ่งสามารถเห็นได้ว่ามีประสิทธิภาพ
ความแตกต่างระหว่างแคช PHP และส่วนขยายแคชฐานข้อมูล
1) ส่วนขยายแคช PHP:
- eAccelerator, XCache เป็นส่วนขยายแคช PHP
2) ส่วนขยายแคชฐานข้อมูล:
- Redis, memcached, APC cache เป็นส่วนขยายแคชของฐานข้อมูล
(ปกติคนสองคนต้องติดตั้งแค่ตัวเดียวอย่าโลภ)
หลังจากการทดสอบบางอย่าง พบว่าแคชข้อมูลแคชเกินเกณฑ์ที่กำหนด และประสิทธิภาพของ APC ไม่ดีเท่ากับแคช mcached
ดังนั้น เมื่อเลือกส่วนขยายแคช บางคนจะเลือกการรวมกันของ xcache + memcached หรือการรวมกันของ xcache + redis
หากเกิดข้อผิดพลาดขณะติดตั้งส่วนขยายแคชหลายรายการพร้อมกัน ขอแนะนำให้ติดตั้งส่วนขยายแคชเพียงรายการเดียวและถอนการติดตั้งส่วนขยายอื่นๆ
สรุปการเปรียบเทียบตัวเร่ง PHP
- จากการทดสอบ eAccelerator เป็นการผสมผสานระหว่างเวลาคำขอและการใช้หน่วยความจำได้ดีที่สุด แต่ eAccelerator ไม่รองรับ PHP 5.5 หรือใหม่กว่า
- จากการทดสอบ ความเร็วด้วยคันเร่งจะเร็วกว่าเมื่อไม่มีคันเร่งถึง 3 เท่า
ข้างต้นคือAPC, eAccelerator, XCache, memcached, Redisบทบาทและความแตกต่างระหว่างกัน
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) ความแตกต่างระหว่าง APC, eAccelerator, XCache, memcached, Redis ที่ใช้ร่วมกัน เป็นประโยชน์กับคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-940.html
ยินดีต้อนรับสู่ช่อง Telegram ของบล็อกของ Chen Weiliang เพื่อรับข่าวสารล่าสุด!
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!