APC, eAccelerator, XCache, memcached, Redis arasındaki fark

İnternet pazarlamacılığıinsan kullanımıWordPress web sitesi,YapmakElektrik tedarikçisiWeb Promosyonu, web sitesinin hızını artırmak için belirli bir ölçüde iyileştirebilirSEOetki.

KurulmuşVestaCPkontrol paneli vb.LinuxSistemden sonra PHP'nin hızını artırmak için bazı önbellek uzantıları seçilebilir.

CACHE önbellek uzantısı hızlandırma sayfası 1

Sıklıkla görülen şu önbellek uzantılarıdır:

  1. APC
  2. eHızlandırıcı
  3. önbellek
  4. memcached
  5. Redis

Onların arasındaki fark ne?Rol nedir?Nasıl seçmeliyiz?

Chen WeiliangCevabını bu yazıda vereceğim.

XNUMX. Alternatif PHP Önbelleği (APC önbelleği)

Alternatif PHP Önbelleği (APC önbelleği) No. 2

Alternatif PHP Önbelleği (APC Önbelleği), PHP için Opcode (nesne dosyası) PHP ara kodunu önbelleğe almak için kullanılan açık kaynaklı bir önbelleğe alma aracıdır.

APC önbelleği 2 bölüme ayrılmıştır:

  1. sistem önbelleği
  2. Kullanıcı veri önbelleği

Sistem önbelleği otomatik olarak kullanılır:

  • Bu, APC'nin PHP dosyasının kaynak kodunun derleme sonucunu önbelleğe aldığı ve ardından zaman damgasını yeniden çağırdığı anlamına gelir.
  • Süresi dolmadıysa, önbelleğe alınmış kodla çalıştırın.
  • Varsayılan önbellek 3600'dür (bir saat).

Ancak bu hala çok fazla CPU zamanı harcıyor.

Bu nedenle, php.ini dosyasında sistem önbelleğini hiçbir zaman sona ermeyecek şekilde ve sistem önbelleğini hiçbir zaman sona ermeyecek şekilde ayarlayabilirsiniz (apc.ttl=0).

Ancak bunu yapmak, PHP kodunu değiştirdikten sonra web sunucusunu (örneğin, apache) yeniden başlatmayı gerektirir.

Şu anda, APC performans testi genellikle bu katmanın önbelleğini ifade eder;

Kelimenin tam anlamıyla, Alternatif PHP Önbelleği (APC Önbelleği), bir bellek içi önbellek uzantısı olarak da düşünülebilir,

Bir veritabanı önbellek uzantısıdır.

XNUMX. eHızlandırıcı

eAccelerator, ücretsiz ve açık kaynaklı bir PHP hızlandırıcıdır.

  • PHP betiklerinin önbelleğe alma performansını artırabilen optimizasyon ve dinamik içerik önbelleğe alma.
  • Bu nedenle, sunucunun kaynak tüketimini azaltmak için PHP betiği derlenmiş durumda tutulabilir.
  • Ayrıca, yürütme verimliliğini artırmak için komut dosyalarını optimize ederek PHP kodunun verimliliğini 1-10 kat artırır.
  • eAccelerator şu anda PHP5.5 veya sonraki sürümleri desteklememektedir.

Metinden anlaşıldığı üzere:eAccelerator, PHP'deki bir hızlandırıcı uzantısıdır.

XNUMX. Önbellek

XCache, sunucuda PHP performansını artıran açık kaynaklı bir işlem kodu arabelleği/iyileştiricisidir.

  • Derlenen PHP verilerini paylaşılan bellekte önbelleğe alarak derleme işleminin tekrarlanmasını önleyebilirsiniz.
  • Ve hızı artırmak için kodu derlemek için arabelleği doğrudan kullanabilirsiniz.
  • Genellikle sayfa oluşturma oranlarını 2 ila 5 kat artırabilir ve sunucu yükünü azaltabilir.

Aslında,XCache bir PHP hızlandırıcı uzantısıdır.

Dördüncü, memcached

Memcached, yüksek performanslı bir dağıtılmış bellek nesnesi önbelleğe alma sistemidir:

  • Veritabanı yükünü azaltmak için dinamik web uygulamalarında kullanılır.
  • Verileri ve nesneleri bellekte önbelleğe alarak veritabanı okuma sayısını azaltır, böylece dinamik, veritabanına dayalı web sitelerinin hızını sağlar.

Metinden anlaşılabilir: bellek önbellek genişletme, daha çok küme sunucuları için kullanılır, çoğunlukla dağıtılmış önbellek için kullanılır.

Memcached bir veritabanı önbellek uzantısı olarak kabul edilir.

XNUMX. Kırmızılar

Redis, yüksek performanslı bir anahtar/değer veritabanıdır.

3. Redis

  • Redis'in ortaya çıkışı, memcached gibi anahtar değer depolaması eksikliğini büyük ölçüde telafi etti.
  • Bazı durumlarda, ilişkisel veritabanlarını tamamlayabilir.
  • Çoğu durumda, Redis genellikle memcached ile karşılaştırılır.

Birçok kişi Redis'in memcached'in yerini tamamen alabileceğini düşünüyor çünkü Redis daha zengin veri türlerine sahip ve performans memcached altında değil:

  • Redis memcached var ama değil;
  • Memcached ve redis her ikisine de sahiptir.

Bildiğim kadarıyla Sina'nın Weibo ve diğer çevresel ürünleri, güçlü olarak görülebilen Redis'e güveniyor.

PHP önbelleği ve veritabanı önbellek uzantısı arasındaki fark

1) PHP önbellek uzantısı:

  • eAccelerator, XCache PHP önbellek uzantılarıdır.

2) Veritabanı önbellek uzantısı:

  • Redis, memcached, APC cache, veritabanı önbellek uzantılarıdır.

(Genellikle 2 kişinin sadece 1 tanesini kurması yeterlidir, açgözlü olmayın)

Bazı testlerden sonra önbellek veri önbelleğinin belirli bir eşiği aştığı ve APC performansının mcached önbellek kadar iyi olmadığı tespit edildi.

Bu nedenle, bir önbellek uzantısı seçerken, bazı kişiler xcache + memcached kombinasyonunu veya xcache + redis kombinasyonunu seçecektir.

Aynı anda birden fazla önbellek uzantısı yüklerken bir hata oluşursa, yalnızca bir önbellek uzantısı yüklemeniz ve diğerlerini kaldırmanız önerilir.

PHP Hızlandırıcı Karşılaştırma Özeti

  • Test yoluyla, eAccelerator, istek süresi ve bellek kullanımının en iyi birleşimidir, ancak eAccelerator PHP5.5 veya sonraki sürümleri desteklemez.
  • Test boyunca, hızlandırıcı ile hız, hızlandırıcı olmadan 3 kat daha hızlıdır.

YukarıdakilerAPC, eAccelerator, XCache, memcached, Redisrolleri ve aralarındaki farklar.

Umut Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) APC, eAccelerator, XCache, memcached, Redis arasındaki fark, size yardımcı oldu.

Bu makalenin bağlantısını paylaşmaya hoş geldiniz:https://www.chenweiliang.com/cwl-940.html

En son güncellemeleri almak için Chen Weiliang'ın blogunun Telegram kanalına hoş geldiniz!

🔔 Kanalın üst dizinindeki değerli "ChatGPT İçerik Pazarlama Yapay Zeka Aracı Kullanım Kılavuzunu" alan ilk kişi olun! 🌟
📚 Bu rehber çok büyük değer içeriyor, 🌟Bu nadir bir fırsat, kaçırmayın! ⏰⌛💨
İsterseniz paylaşın ve beğenin!
Paylaşımlarınız ve beğenileriniz bizim sürekli motivasyonumuz!

 

发表 评论

E-posta hesabınız yayımlanmayacak. 必填 项 已 用 * 标注

yukarı kaydır