ความแตกต่างระหว่าง APC, eAccelerator, XCache, memcached, Redis

网络营销การใช้ของมนุษย์เว็บไซต์ WordPress,ทำผู้จัดจำหน่ายไฟฟ้าและโปรโมชั่นเว็บ, ปรับปรุงความเร็วของเว็บไซต์, สามารถปรับปรุงได้ในระดับหนึ่งSEOผลกระทบ

ติดตั้งแล้วVestaCPแผงควบคุม ฯลฯลินุกซ์หลังจากระบบ สามารถเลือกส่วนขยายการแคชบางรายการเพื่อปรับปรุงความเร็วของ PHP ได้

แผ่นเร่งส่วนขยายแคช CACHE 1

ส่วนขยายแคชที่เห็นได้บ่อยคือ:

  1. APC
  2. อีแอคเซอเลอเรเตอร์
  3. เอ็กซ์แคช
  4. memcached
  5. Redis

อะไรคือความแตกต่างระหว่างพวกเขา?บทบาทคืออะไร?เราควรเลือกอย่างไร?

เฉิน เว่ยเหลียงฉันจะให้คำตอบคุณในบทความนี้

XNUMX. แคช PHP ทางเลือก (แคช APC)

แคช PHP ทางเลือก (แคช APC) หมายเลข 2

แคช PHP ทางเลือก (แคช APC) เป็นเครื่องมือแคชแบบโอเพนซอร์สสำหรับ PHP ใช้เพื่อแคชโค้ดระดับกลางของ PHP ของ Opcode (ไฟล์อ็อบเจ็กต์)

แคชของ APC แบ่งออกเป็น 2 ส่วน:

  1. แคชของระบบ
  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 3rd

  • การเกิดขึ้นของ 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 เพื่อรับข่าวสารล่าสุด!

🔔 เป็นคนแรกที่ได้รับ "คู่มือการใช้งานเครื่องมือ AI การตลาดเนื้อหา ChatGPT" อันทรงคุณค่าในไดเรกทอรีด้านบนของช่อง! 🌟
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!

 

发表评论

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ 必填项已用 * 标注