apc กับ eaccelerator กับ xcache


105

ฉันกำลังหาข้อมูลว่าจะใช้อันไหนดีและฉันหาสิ่งที่โดดเด่นไม่ได้จริงๆ Eacceleratorเร็วกว่าAPCแต่ APC ได้รับการดูแลดีกว่า Xcacheเร็วกว่า แต่คนอื่น ๆ มีไวยากรณ์ที่ง่ายกว่า

ใครมีคำแนะนำว่าควรใช้ตัวไหนและทำไม?


1
eAccelerator ดูเหมือนจะไม่ได้เปิดตัวมานานกว่าหนึ่งปี VC ของ xcache ใช้งานได้อย่างแน่นอน แต่ฉันไม่สามารถโฟกัสที่รุ่นและโฟกัสได้ ทุกอย่างเดือดเป็นชิ้น ๆ ของซอฟต์แวร์ที่ได้รับการบำรุงรักษาและ APC ก็เอาชนะมันได้
จนถึง

11
ไตรมาสที่ 3 ปี 2554 มีการเปลี่ยนแปลงตั้งแต่ปี 2552 หรือไม่?
จอห์น

นอกจากนี้ยังstackoverflow.com/q/28716/632951
Pacerier

คำตอบ:


110

APC จะรวมอยู่ใน PHP 6 และฉันเดาว่ามันถูกเลือกด้วยเหตุผลที่ดี :)

มันค่อนข้างง่ายในการติดตั้งและเพิ่มความเร็วอย่างแน่นอน


ฉันชั่งน้ำหนักทั้งสามอย่างนี้และตัดสินใจที่จะเริ่มทดสอบกับ APC ด้วยเหตุนี้ อีกสองคนดูเหมือนจะมีปัญหาเรื่องความเสถียรเช่นกัน
Steve Claridge

46
ฉันพบปัญหาเพียงสามข้อกับ APC ซึ่งทั้งหมดนี้อยู่ภายใต้การควบคุมของฉัน 1) อย่าปล่อยให้ APC เต็ม ตรวจสอบให้แน่ใจว่าได้จัดสรรหน่วยความจำเพียงพอ 2) อย่าใช้ apc_clear_cache () บนเซิร์ฟเวอร์ที่ใช้งานอยู่ 3) APC ไม่สามารถรับมือกับข้อขัดแย้งเกี่ยวกับการล็อกขนาดใหญ่ได้ดีนัก - อย่าพยายามเขียนคีย์เดียวจากหลายกระบวนการพร้อมกัน
Frank Farmer

10
จริงๆแล้วตอนนี้ยังไม่มี PHP6
ปลิ้น

20
เนื่องจากเธรดนี้เป็นผลลัพธ์อันดับต้น ๆ ใน Google จึงควรได้รับการอัปเดตเพื่อระบุว่า Zend Optimizer ถูกรวมเข้ากับ PHP 5.5 ซึ่งเปิดตัวในเดือนนี้ คุณสามารถปิดและใช้ APC แทนได้ แต่ฉันไม่แน่ใจว่าทำไมคุณถึงต้องการ
ป่าไม้

2
@Benjamin ที่เก็บข้อมูลผู้ใช้สามารถกู้คืนได้ด้วย APCu ( github.com/krakjoe/apcu ) ซึ่งสามารถติดตั้งและใช้งานได้ควบคู่ไปกับ ZO
Swader

23

ตรวจสอบเกณฑ์มาตรฐานและการเปรียบเทียบ:

ที่นี่ และที่นี่ และที่นั่น


15
เสียดายที่อายุมากแล้ว พ.ศ. 2549? พ.
analytik

3
ฉันคิดว่าเราสามารถรอได้สองสามปีและความคิดเห็นก่อนหน้านี้จะเก่า?
Benmarks

5
ประสบความสำเร็จ. ตอนนี้อายุ 3 ขวบแล้ว Ewwww.
Swader

3
มันเป็นปี 2016 แล้ว ใครบางคนสามารถสร้างเกณฑ์มาตรฐานซ้ำเมื่อทศวรรษที่แล้ว
Pacerier

13

APC แน่นอน มันเขียนโดยพวก PHP ดังนั้นแม้ว่ามันอาจจะไม่แชร์ความเร็วสูงสุด แต่คุณก็สามารถเดิมพันได้ว่ามันมีคุณภาพสูงสุด

นอกจากนี้คุณยังได้รับคุณสมบัติดีๆอื่น ๆ ที่ฉันใช้ตลอดเวลา ( http://www.php.net/apc )


3
Facebook ยังเป็นผู้ใช้ APC จำนวนมาก - พวกเขาใช้กิกะไบต์หากไม่ใช่แคช APC ในเทอราไบต์ การปรับปรุงหลายอย่างที่พวกเขาทำได้รับการเผยแพร่กลับมาและรวมเข้ากับ APC เวอร์ชันหลัก
Frank Farmer

13
คุณกำลังคิดถึง memcached
ปลิ้น

3
@ ทุก FB พยายามกดแคช APC ในเครื่องก่อนทำการเชื่อมต่อ TCP / IP ไปยัง memcached scribd.com/doc/4069180/…
Andy

1
น่าจะ .. แต่เมื่อเขาพูดถึงการปรับปรุงที่ได้รับการเผยแพร่ออกไป ฯลฯ นั่นอาจเป็น Memcache เว้นแต่ว่าจะทำเช่นเดียวกันกับ apc
ปลิ้น

@ แอนดี้ Facebook ไม่ได้ใช้สิ่งนี้ มันใช้ HipHop VM ของตัวเอง
Pacerier

11

ในที่สุดฉันก็ใช้ eAccelerator - การเพิ่มความเร็วรอยเท้าหน่วยความจำที่เล็กลงและความจริงที่ว่าติดตั้งง่ายมากทำให้ฉันไหว นอกจากนี้ยังมีส่วนหน้าบนเว็บที่ดีเพื่อล้างแคชและแสดงสถิติบางอย่าง

ความจริงที่ว่ามันไม่ได้รับการบำรุงรักษาอีกต่อไปไม่ใช่ปัญหาสำหรับฉัน - มันใช้งานได้และนั่นคือทั้งหมดที่ฉันสนใจ ในอนาคตถ้ามันพัง PHP6 (หรืออะไรก็ได้) ฉันจะประเมินการตัดสินใจของฉันอีกครั้งและอาจจะไปกับ APC เพียงเพราะมันถูกนำมาใช้โดยนักพัฒนา PHP (ดังนั้นควรจะติดตั้งได้ง่ายกว่านี้)


4
"ถ้ามันแตก PHP6" ... คุณไม่ได้หมายถึง "เมื่อไหร่" :)
Brian Lacy

2
มันตลกดีเพราะ 5.5 ปีต่อมายังไม่มี "PHP 6. "
Eric L.

@Eirik, PHP 6 คือเมื่อวานนี้ ตอนนี้เป็น7แล้ว
Pacerier

11

อาจเป็นเรื่องสำคัญที่จะต้องระบุเวอร์ชันที่เสถียรไม่เสถียรและเวอร์ชันที่กำลังพัฒนาในปัจจุบันของแต่ละเวอร์ชัน (รวมถึงวันที่):

APC

http://pecl.php.net/package/apc

dev        dev          2013-09-12
3.1.14     beta         2013-01-02
3.1.9      stable       2011-05-14

Xcache

http://xcache.lighttpd.net/

dev/3.2     dev        2013-12-13
dev/3.1     dev        2013-11-05
3.1.0       stable     2013-10-10
3.0.4       stable     2013-10-10

eAccelerator

https://github.com/eaccelerator/eaccelerator

dev         dev        2012-08-16
0.9.6-rc1   unstable   2010-01-26
0.9.5.1     stable     2007-05-16

1
อัปเดตเวอร์ชันล่าสุด - Xcache ดูเหมือนจะมีกิจกรรมส่วนใหญ่ทั้งในคุณสมบัติใหม่และการแก้ไขเวอร์ชันก่อนหน้า
Ryan Schumacher

9

ในการทดสอบทั้งหมดที่ฉันเคยเห็น eAccelerator ทำงานได้เร็วกว่าแคชอื่น ๆ ที่มีอยู่และใช้ความทรงจำน้อยกว่าในการทำเช่นนั้น มันมาพร้อมกับสคริปต์ที่ดีเพื่อดูการใช้แคชและล้างแคชเป็นต้น eAccelerator เข้ากันได้กับ xdebug และ Zend Optimizer

APC ถูกรวมอยู่ใน PHP เนื่องจากได้รับการดูแลโดยนักพัฒนา PHP ทำงานได้ดีมาก แต่ไม่ดีเท่า eAccelerator และมีปัญหาความเข้ากันได้กับ Zend Optimizer

Xcache สร้างขึ้นโดยนักพัฒนาของ lighttpd เกณฑ์มาตรฐานแสดงให้เห็นว่าทำงานได้ใกล้เคียงกับ eAccelerator และเร็วกว่า APC

แล้วแบบไหนดีที่สุด?

APC = ยอดเยี่ยมหากคุณต้องการแคชที่ใช้งานง่ายซึ่งจะทำงานร่วมกับ PHP ได้ตลอดเวลาไม่ยุ่งยาก eAccelerator = หากคุณมีเวลาดูแลรักษาให้อัปเดตอยู่เสมอและทำความเข้าใจวิธีการทำงานก็จะทำงานได้เร็วขึ้น การสนับสนุนระยะยาวไม่แน่นอนเท่ากับ APC เนื่องจาก APC ทำโดย PHP devs


7

ฉันทดสอบ eAccelerator และ XCache กับ Apache, Lighttp และ Nginx ด้วยไซต์ Wordpress eAccelerator ชนะทุกครั้ง สิ่งที่ไม่ดีคือแพ็คเกจที่หายไปสำหรับ Debian และ Ubuntu เท่านั้น หลังจากอัปเดต PHP บ่อยครั้งเซิร์ฟเวอร์จะไม่ทำงานอีกต่อไปหากโมดูล eAccelerator ไม่ได้คอมไพล์ใหม่

eAccelerator RC ล่าสุดมาจาก 2009/07/15 (0.9.6 rc1) พร้อมรองรับ PHP 5.3


6

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

ดังนั้นฉันจึงลอง eaccelerator จนถึงตอนนี้มันเป็นหินแข็งและความเร็วที่เพิ่มขึ้นนั้นยิ่งใหญ่กว่าด้วย APC พวก APC ต้องใช้เวลาในการแก้ไขข้อบกพร่องจริงๆ


1
ฉันมีปัญหาเดียวกันกับ APC และ php 5.3 ขอบคุณสำหรับความคิดเห็น PHP ที่ไม่มีการแคชในการตั้งค่าของฉันเร็วและเชื่อถือได้มากกว่า APC หน้าว่างเปล่าและข้อผิดพลาดหน่วยความจำไม่เพียงพอทำให้ฉันแทบคลั่งจนกระทั่งฉันลบ APC ออก
Paul D.Eden

ไม่เคยรู้สาเหตุที่เคอร์เนลฆ่า php-fpm เนื่องจาก apc
vimdude

4

ฉันคิดว่า APC เป็นหนทางที่จะไปได้เว้นแต่คุณจะใช้ Zend Optimizer บนไซต์ APC เข้ากันไม่ได้กับ Zend Optimizer ดังนั้นในกรณีนี้คุณจะต้องใช้ eAccelerator


หากคุณใช้ Zend Optimizer คุณไม่ต้องการสิ่งอื่นใดเพราะมันยังแคช optcode และแสดงอินเทอร์เฟซที่เข้ากันได้กับ APC
txyoji

3

แม้ทั้ง eacceleator และ xcache จะทำงานได้ค่อนข้างดีในช่วงโหลดปานกลาง APC ก็ยังคงรักษาเสถียรภาพภายใต้การร้องขอที่รุนแรง หากเรากำลังพูดถึงคำขอไม่กี่ร้อยครั้ง / วินาทีที่นี่คุณจะไม่รู้สึกถึงความแตกต่าง แต่ถ้าคุณพยายามตอบสนองมากขึ้นให้ยึดติดกับ APC อย่างแน่นอน โดยเฉพาะอย่างยิ่งหากแอปพลิเคชันของคุณมีลักษณะไดนามิกมากเกินไปซึ่งอาจทำให้เกิดปัญหาการล็อกภายใต้การโหลดดังกล่าว http://www.ipsure.com/blog/2011/eaccelerator-as-zend-extension-high-load-averages-issue/อาจช่วยได้


2

หากคุณต้องการแคชไฟล์ PHP เท่านั้นคุณสามารถใช้ eAccelerator ได้โดยตรง ติดตั้งและกำหนดค่าได้ง่ายมากและให้ผลลัพธ์ที่ยอดเยี่ยม

แต่ที่แย่เกินไปพวกเขาได้ลบ eaccelerator_put และ eaccelerator_put ออกจากเวอร์ชันล่าสุด 0.9.6


2

APC segfaults ทั้งวันทั้งคืนไม่มีประสบการณ์กับ eAccelerator แต่ XCache มีความน่าเชื่อถือมากพร้อมตัวเลือกมากมายและการพัฒนาอย่างต่อเนื่อง

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