EC2 Memcached

5 Cevap php

Birazdan ben adanmış sunucular göze veya herhangi bir yedek sunuculara sahip mümkün duyuyorum kadar, başarıyla EC2 ile memcached sunucuların az sayıda çalıştırmak düşünerek mıyım?

Amazon tarafından yeni otomatik ölçeklendirme ve yük dengeleme bugün duyurusu ile, siz bu uygun bir seçenek olacağını düşünüyorsunuz?

Ve ne beni alarak öneriyoruz temel teknik adımlar olacağını?

Teşekkürler

Şu anda, bir adanmış sunucu ve hiçbir memcached sunucuları var. Ben kurulum birkaç durum için EC2 gücünü kullanmak ve bu memcached sunucuları çalıştırmak istiyorum. Bu benim şu anki kurulum bulunuyor.

5 Cevap

  • Yük dengeleme Memcached ile ilgisi yoktur - bu sunucularına bağlanmak için bir karma algoritması kullanır
  • Ben çok Memcached ile otomatik ölçeklendirmeyi kullanılarak tavsiye etmiyoruz - sunucular ekleyerek karma algoritması kırar ve önbelleği geçersiz kılar. Veri kayıp gidecek ve önbelleğe alır gerekecek.
  • Sen EC2 için sunucularından gecikme kontrol etmek isteyeceksiniz - bu 50ms daha fazla ise, önemli ölçüde performans zarar olacak. Eh, zaten kabul ediyorum.

Birden tuşları gecikme etkisini azaltmak için bir istek ile (here for how bakınız) çekebilirsiniz, ama hala ilk hit alacağım. Ve o da sizin size çağrı yapmadan önce almak için giden tüm anahtarları bilmek gerekiyor demektir. Aksi takdirde her istek senaryonuzun yürütme zamanı (veya daha fazla) 50ms ekler.

Önbellek çalışırken verileri düşünün. Size yardım etmek için yeterince büyük bir 64mb levha mı? Muhtemelen ana sunucularında çalıştırabilirsiniz.

Gerçekten memcached yararlanmak için size memcache mümkün olduğunca çabuk kendi kodu ile iletişim olması gerekir. Eğer EC2 sunucuları ve kendi arasında olurdu ne kadar gecikme incelemek isteyebilirsiniz.

Sonuçta, daha iyi 4 konser gibi bir şey (size yaklaşık 50 dolar çalıştırmak gerekir) için geçerli kutuyu ram yükseltmişti servis olabilir ve ana sunucu üzerinde memcached koyarak. Belgeler aslında istekleri dışında hizmet veren, aynı sunucuda memcached yüklemenizi önerir. Uygulamanızın boyutu ve ne yapar bağlı olarak, bir konser ya da iki ile memcached örneği neye ihtiyacınız daha yol daha olabilir.

Ayrıca, aynı zamanda yardımcı olacaktır APC veya eaccelerator gibi bir php nesne önbelleğe alma motoru kullanarak değilseniz.

Amazon ElasticCache - Son zamanlarda AWS yeni bir web hizmeti yayımladı. Bu hizmet Memcached ile protokol şikayet olduğunu.

http://aws.amazon.com/elasticache/: Daha fazla bilgi için bkz

Normalde mevcut kutusunda ne kadar boş hafıza var? Sadece orada bir memcached örneği kurmak değil misin? Ben gecikme / genel / etc mümkün olduğunu düşünüyorum. Uzak önbelleklerini sahip olmaktan herhangi bir fayda inkâr ediyorum ki gibi, ama belki de bu böyle değil.

More in general: If you want to use any type of caching mechanism, it makes sense to have your servers VERY CLOSE to your cache servers. Example: Database servers and Memcached servers, they should be in the same colocation, or same AWS "Region". If you try to use a caching system, is because you want to improve performance. If you put the caching system away from your servers, you're basically wasting all the benefits.

En iyisi,