apc vs eaccelerator vs xcache


105

Tôi đang nghiên cứu xem nên sử dụng cái nào trong số này và tôi thực sự không thể tìm thấy cái nào nổi bật. Eaccelerator nhanh hơn APC , nhưng APC được duy trì tốt hơn.Xcache nhanh hơn nhưng những cái khác có cú pháp dễ hơn.

Bất cứ ai cũng có khuyến nghị về cách sử dụng và tại sao?


1
eAccelerator có vẻ như không được phát hành trong hơn một năm. VC của xcache chắc chắn đang hoạt động, nhưng tôi cũng không thể tập trung vào các bản phát hành và tiêu điểm. Tất cả chỉ tập trung vào một phần mềm đang được bảo trì và APC sẽ thắng nó.
Đến

11
Đó là quý 3 năm 2011. Mọi thứ có thay đổi kể từ năm 2009 không?
john

Câu trả lời:


110

APC sẽ được đưa vào PHP 6, và tôi đoán nó đã được chọn vì lý do chính đáng :)

Nó khá dễ cài đặt và chắc chắn tăng tốc mọi thứ.


Tôi đã cân nhắc ba điều này và quyết định bắt đầu thử nghiệm với APC vì lý do này. Hai chiếc còn lại dường như cũng có một số vấn đề về ổn định.
Steve Claridge

46
Tôi chỉ gặp ba vấn đề với APC, tất cả đều nằm trong tầm kiểm soát của tôi. 1) Đừng để APC lấp đầy. Đảm bảo phân bổ đủ bộ nhớ 2) Không sử dụng apc_clear_cache () trên máy chủ đang hoạt động 3) APC không thực sự đối phó tốt với tranh chấp khóa nặng - đừng cố gắng ghi đồng thời vào một khóa từ nhiều quy trình.
Frank Farmer

10
Trên thực tế hiện tại không có cái gọi là PHP6.
Evert

20
Vì chủ đề này là một kết quả hàng đầu trong Google, nên có lẽ nó nên được cập nhật để chỉ ra rằng Zend Optimizer được hợp nhất vào PHP 5.5 được phát hành trong tháng này. Bạn có thể tắt nó đi và sử dụng APC thay thế, mặc dù tôi không chắc tại sao bạn lại muốn.
Forest

2
@Benjamin Kho dữ liệu người dùng có thể được khôi phục bằng APCu ( github.com/krakjoe/apcu ) có thể cài đặt và sử dụng được cùng với ZO.
Swader

23

Kiểm tra các điểm chuẩn và so sánh:

ở đâyở đâyở đó


15
Thật tệ là họ quá già. Năm 2006? Ơ kìa.
analytik

3
Tôi cho rằng chúng ta có thể đợi một vài năm và nhận xét trước đó sẽ cũ?
benmarks

5
Sự thành công. Bây giờ đã 3 tuổi. Ghê quá.
Swader

3
Dude là năm 2016 rồi. Ai đó có thể làm lại các điểm chuẩn cả thập kỷ trước không?
Pacerier

13

APC chắc chắn. Nó được viết bởi những người PHP, vì vậy mặc dù nó có thể không chia sẻ tốc độ cao nhất, nhưng bạn có thể đặt cược vào thực tế nó là chất lượng cao nhất.

Thêm vào đó, bạn nhận được một số tính năng tiện lợi khác mà tôi sử dụng mọi lúc ( http://www.php.net/apc ).


3
Facebook cũng là một người sử dụng nhiều APC - họ sử dụng hàng gigabyte, nếu không muốn nói là bộ nhớ đệm APC. Nhiều cải tiến mà họ thực hiện đã được phát hành trở lại và được tích hợp vào phiên bản chính của APC.
Frank Farmer

13
Bạn đang nghĩ đến memcached.
Evert

3
@Mọi FB hãy thử truy cập bộ nhớ cache APC cục bộ trước khi thực hiện kết nối TCP / IP tới memcached scribd.com/doc/4069180/…
Andy

1
Có lẽ là .. nhưng khi anh ấy nói về những cải tiến đã được phát hành trở lại, v.v. thì có lẽ đó là Memcache. Trừ khi họ đã làm như vậy với apc.
Evert

@Andy, Facebook không sử dụng bất kỳ cái nào trong số này. Nó sử dụng máy ảo HipHop của riêng nó.
Pacerier

11

Cuối cùng, tôi đã sử dụng eAccelerator - tốc độ tăng, dung lượng bộ nhớ nhỏ hơn và thực tế là rất dễ cài đặt đã làm tôi xao xuyến. Nó cũng có giao diện người dùng dựa trên web đẹp mắt để xóa bộ nhớ cache và cung cấp một số thống kê.

Thực tế là nó không được duy trì nữa không phải là một vấn đề đối với tôi - nó hoạt động, và đó là tất cả những gì tôi quan tâm. Trong tương lai, nếu nó phá vỡ PHP6 (hoặc bất cứ điều gì), thì tôi sẽ đánh giá lại quyết định của mình và có thể chọn APC đơn giản vì nó đã được các nhà phát triển PHP chấp nhận (vì vậy sẽ dễ cài đặt hơn)


4
"nếu nó phá vỡ PHP6" ... ý bạn không phải là "khi nào?" :)
Brian Lacy

2
Thật buồn cười vì 5,5 năm sau, vẫn không có "PHP 6".
Eric L.

@Eirik, PHP 6 là ngày hôm qua. Đó là 7 bây giờ.
Pacerier

11

Điều quan trọng có thể là chỉ ra các phiên bản phát triển, ổn định và không ổn định hiện tại của mỗi phiên bản (bao gồm cả ngày tháng):

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
Cập nhật phiên bản mới nhất - XCache trông có hoạt tính nhất trong cả hai tính năng mới và vá các phiên bản trước
Ryan Schumacher

9

Trong tất cả các thử nghiệm tôi đã thấy, eAccelerator hoạt động nhanh hơn bất kỳ bộ nhớ cache nào khác ngoài thị trường và sử dụng ít bộ nhớ hơn để làm như vậy. Nó đi kèm với một tập lệnh tiện lợi để xem việc sử dụng bộ nhớ cache và xóa bộ nhớ cache, v.v. eAccelerator tương thích với xdebug và Zend Optimizer.

APC đang được đưa vào PHP vì nó đang được các nhà phát triển PHP duy trì. Nó hoạt động rất tốt, nhưng không tốt bằng eAccelerator. Và nó có vấn đề về khả năng tương thích với Zend Optimizer.

Xcache được tạo ra bởi các nhà phát triển lighttpd, các điểm chuẩn cho thấy nó hoạt động tương tự như eAccelerator và nhanh hơn APC.

Vì vậy, đó là tốt nhất?

APC = Tuyệt vời nếu bạn muốn một bộ nhớ cache dễ dàng hoạt động với PHP, không phiền phức. eAccelerator = Nếu bạn có thời gian để bảo trì nó, hãy cập nhật nó và hiểu cách nó hoạt động, nó sẽ hoạt động nhanh hơn. Hỗ trợ lâu dài không chắc chắn như APC vì APC được thực hiện bởi các nhà phát triển PHP.


7

Tôi đã thử nghiệm eAccelerator và XCache với Apache, Lighttp và Nginx với một trang Wordpress. eAccelerator chiến thắng mọi lúc. Điều tồi tệ là chỉ thiếu các gói cho Debian và Ubuntu. Sau khi cập nhật PHP, máy chủ thường không hoạt động nữa nếu các mô-đun eAccelerator không được biên dịch lại.

eAccelerator RC cuối cùng là từ 2009/07/15 (0.9.6 rc1) với hỗ trợ cho PHP 5.3


6

Tôi luôn sử dụng APC với php 5.1 và 5.2, nhưng tôi đã gặp rất nhiều lỗi (ngẫu nhiên) khi sử dụng APC với php 5.3: Các trang trống lạ, lỗi hết bộ nhớ ngẫu nhiên. Tất cả chúng đều biến mất khi tôi vô hiệu hóa APC. Nhưng đó không phải là lựa chọn, vì nó đang chạy một trang web có khối lượng lớn.

Vì vậy, tôi đã thử eaccelerator. Cho đến nay, nó đã vững chắc và tốc độ tăng thậm chí còn lớn hơn so với APC. Các nhân viên APC thực sự cần dành thời gian sửa lỗi.


1
Tôi đã gặp vấn đề tương tự với APC và php 5.3. Cảm ơn đã nhận xét. PHP không có bất kỳ bộ nhớ đệm nào trong thiết lập của tôi nhanh hơn và đáng tin cậy hơn nhiều so với APC. Các trang trống và lỗi hết bộ nhớ đã khiến tôi phát điên cho đến khi tôi gỡ bỏ APC.
Paul D. Eden

chưa bao giờ tìm ra lý do kernel giết php-fpm vì apc
vimdude

4

Tôi nghĩ APC là cách tốt nhất trừ khi bạn đang sử dụng Zend Optimizer trên trang web. APC không tương thích với Zend Optimizer vì vậy trong trường hợp đó, bạn sẽ cần phải sử dụng một thứ gì đó như eAccelerator.


Nếu bạn đang sử dụng Zend Optimizer, bạn không cần bất kỳ thứ gì khác vì nó cũng thực hiện bộ nhớ đệm optcode và hiển thị giao diện tương thích APC.
txyoji 31/10/12

3

Ngay cả khi cả eacceleator và xcache đều hoạt động khá tốt khi tải vừa phải, APC vẫn duy trì sự ổn định của nó dưới cường độ yêu cầu nghiêm trọng. Nếu chúng ta đang nói về một vài trăm yêu cầu / giây ở đây, bạn sẽ không cảm thấy sự khác biệt. Nhưng nếu bạn đang cố gắng phản hồi nhiều hơn, hãy chắc chắn gắn bó với APC. Đặc biệt nếu ứng dụng của bạn có các đặc tính quá động, có thể sẽ gây ra các vấn đề về khóa khi tải như vậy. http://www.ipsure.com/blog/2011/eaccelerator-as-zend-extension-high-load-a average-issue/ có thể hữu ích.



2

APC mặc định cả ngày lẫn đêm, không có kinh nghiệm với eAccelerator nhưng XCache rất đáng tin cậy với vô số tùy chọn và sự phát triển liên tục.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.