Ben hangisini seçmeliyim APC vs Memcached?

7 Cevap php

Benim uygulama gerçekten çok hızlı olduğunu bu yüzden .. ben iyi önbellekleme motor mevcut almak istediğinizde dönerken http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/: Ben bu makaleyi okuyun. Tabii ki fazla önbellek istemiyorum ama en azından orada iyi şeyi seçmek istiyorum. Bu yazıda bu Memcached yavaş ve apc hızlı öyleyse neden herkes memcached seçmektir diyor?

http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels burada "... Apc, Memcache gibi hızlı 1 (ama sınırlı) kullanın ve" yavaş "diyor Dosya gibi 1, Sqlite ..." Eğer hızlı ve Memcache zamanda APC kullanarak düşünmek yok yavaş olarak iyi bir fikir mi?

7 Cevap

Ve ağırlıklı bir opcode önbellek - APC olmayan dağıtılmış ise Memcached, dağıtılmış bir önbelleğe alma sistemidir.

If (and only if) you have a web application which has to live on different webservers (loadbalancing), you have to use memcache for distributed caching. If not, just stick to APC and its cache.

Her zaman APC bir opcode önbellek, (ayrıca APC PHP6 IIRC entegre alacak, neden şimdi kullanmaya başlayabilirsiniz değil) kullanmanız gerekir.

Sen / farklı amaçlar için hem de kullanmalısınız edebilirsiniz.

Eğer çeşitli web sunucuları arasında durumunu korumak gerekir (eğer yük dengeli iseniz ve ne önbellek bulunuyor tüm sunucular için aynı olması önemlidir) ise Memcached.

APC sadece bir (ya da her) sunucuda okumak (ve yazmak) için hızlı bellek erişimi gerekiyorsa.

APC ayrıca derleme ve script çalıştırma süresini hızlandırabilir hatırlıyorum. Önbellek depolama için memcached kullanırken Yani, örneğin, artan yürütme performansı için APC kullanıyor olabilir.

Ben bütün sunucuları eşitlemek için hız için hem bir hem de diğer kullanın. Eğer memcache kullanmak istemiyorsanız o zaman iptables ile engellemek gerekir açık portlar akılda tutmak etmeyiniz.

Hey Thomaschaaf, ben bu geç sizin için araç değil umut ama APC "kullanıcı-cache" ile ilgili bazı sorunları olduğunu lütfen unutmayın. Eğer önbellek girdileri için zaman aşımının ayarladığınızda, uzun lafın kısası, ya da (örneğin, zaman aşımı,) iç APC kodu içinde apache çöküyor, o zaman bazı sorunlar meydana gelebilir eğer.

http://nirlevy.blogspot.com/2009/06/apc-futexwait-lockdown-make-your-apache.html, ve ayrıca okumak http://t3.dotgnu.info/blog/php/user-cache-timebomb.html (APC geliştiricilerinden biri i düşünmek) olmalıdır: Burada konuyla ilgili bir giriş var

APC ana advatage opcode önbellek. PHP 5.5 çekirdek için OpCache entegre ve PHP 5.4 için APC hala beta olarak işaretli olduğu için, resmi duyurusu değil, ama APC gelişme yakın gelecekte düşüş olacaktır.

Bu yüzden Memcached tercih tavsiye ederim.

APC bir kod önbellek ve memcache gibi davranır çünkü ben sadece APC kullanın! 2 yerine sadece 1 config dosyası.

Ve önbelleği hem izlemek için sadece 1 yer .....

Bu ne yapıyorsun bağlıdır ama benim drupal web bir VPS üzerinde çalışan ben APC harika çalışıyor bulmak! Eğer CentOS 6 çalıştırıyorsanız varsayılan makul gibi basit kurulumu kadar ölü bir yum güncelleme ve hiçbir yapılandırma olarak kullanılabilir. Bir beyin imho yok.