PHP ile yüksek performanslı sitelerde memcache

1 Cevap php

Ben biraz çabuk dönmek için gereklidir (1 saniyeden az) ve (1000/second daha büyük) taleplerinin yüksek bir yükü korumak için gerekli olan bir webcoder optimize etmek için çalışıyor çalışıyoruz. Biz "anısına" nesneleri saklamak için bir yol olarak memcached kullanıyor. Biz memcache zaman aşımı hataları çok sayıda alıyorsanız görünüyor.

[Per Tem 23 22:59:42 2009] [error] [istemci 123.456.789.10] PHP Warning: (Bağlantı zaman aşımına uğradı, 127.0.0.1:11211 bağlanamıyorum: Memcache ::) [memcache.connect] (connect 110)

Yani, soruların üzerinde.

  1. Zaman yaratmak için alıcıdır bellekteki nesneleri depolamak için memcache iyi bir kullanım mı? APC bu nesneler için daha iyi bir yer olurdu? Sayısı okur ve

  2. Daha verimli çalışması için memcache kurma ben bakan değilim ortak tuzaklar var mı?

Herhangi bir yardım için teşekkürler, ben memcache ile çalışma için biraz yeni duyuyorum ve ben eksik bir şey olduğunu düşünüyorum.

1 Cevap

İlk noktayı yanıtlamak için:

  • The power of memcached is that it allows to create a cluster of cache servers : it is not meant to be used on a single server (event it you can use it that way)
    • teori birçok sunuculara sahip olduğunu, ve her biri sizin için hiçbir faydası yok bazı ücretsiz RAM bulunuyor
    • Bu RAM kullanmak için, bu sunuculara memcached yüklemek ve kullanılan değildi RAM miktarını kullanmak için yapılandırın
    • ve bir makine aşağı ise, otomatik olarak kullanarak durur, ve diğerleri koymak yük dengesi verileri
    • memcached bir dezavantajı (bazı insanlar için) o (sadece tek bir makinede kullanmak bile) tabanlı bir ağ olmasıdır; bu da, "yerel-sadece" biraz daha yavaş demektir
  • APC works on only one machine : it is great (used as a caching mecanism) to store data you only need on one server, or if you only have one server ; and don't have more data that what you can store in RAM.
    • o bir makine için düşünülmektedir;: ana dezavantajı absolutly does'nt ölçekli olurdu Eğer 10 varsa, her makinede aynı verileri 10 kez, bir kez sahip olmak zorunda kalacaktır.
    • APC bu yerel olarak, yaklaşık 5 kat daha hızlı veri almak olduğu söyleniyor, ve non-ağ dayanır.

Hakkında APC için bir şey: Eğer opcode önbellek yeteneği (gerekir) Neler için kullanmak eğer, emin olun bunu opcode önbellek için bellek çalışmaz böylece (opcode + önbellek için yeterince RAM yapılandırmak yapmak hangi olur kötü)

Eğer memcached daha (özel) yardıma ihtiyacım var ve burada çok yardım alamıyorsanız, bazen oldukça aktif bir e-posta listesi vardır; belki orada çalışırken yararlı olabilir.