Bugün sharded counters in Google App Engine hakkında okurum. Makale, veri deposundaki varlık başına saniyede yaklaşık 5/güncellemede maksimum beklemeniz gerektiğini söylüyor. Ama sanırım, saniyede ne kadar güncelleme yaptığınızı bilmenin bir yolu yoksa, bu çözümün “ölçeklendirilmemesi” mümkün değil. Örneğin, 10 kırıkları ayırabilirsiniz, ancak saniyede 50 güncellemeyle boğulmaya başlar.Google App Engine’de kaç tane parça kırdı?
Güncelleştirmelerin ne kadar hızlı geldiğini nereden biliyorsunuz ve bu sayıyı yeniden parça sayısıyla nasıl besliyorsunuz?
Tahminimce, sayaç ile birlikte yeni aktivitelerin kaydını tutabiliyorsunuz ve eğer bir spike tespit ederseniz, parça sayısını artırabilirsiniz. Bu genellikle nasıl yapılır? Ve eğer öyleyse, neden örnek kodda yapılmıyor? (Bu son soru cevapsız olabilir.) Trafikte otomatik olarak yapmanın aksine, web sitesi etkinliğini izlemek ve trafik artışlarını güncellemek daha yaygın bir uygulamadır mı?
Güncelleme: Çok az sayıda parçaya ve boğulmaya sahip olmanın pratik sonuçları nelerdir? Web sitesinin yanıt vermemesi anlamına mı geliyor yoksa zaman aşımları nedeniyle karşı güncellemeleri kaybetmek mümkün mü?
Bir kenara bakarsak, this question no'lu uçların, anahtarlama yapılmadan uygulanması hakkında konuşur, ancak yanıtlardan biri, trafik yüksekse memcache'nin bile parolalandırılması gerektiğini gösterir. Öyleyse, shard tahsisi ve ayarının bu sorunu önemli gibi görünüyor.
İkinci başına Memcache'ı yaklaşım Kırma işleminde olmadan ele verebilir kaç güncellemeler görmek ilginç olacaktır. (Şu anda verilen bir memcache anahtarını ne kadar hızlı güncelleyebileceğiniz hakkında herhangi bir rakam bulamıyorum.) –
Sadece bunu öğreniyorum, ama memcache dengesiz olması nedeniyle güvenilir değil istediğin zaman. – brainjam
Evet, memcache değerleri gerçekten de herhangi bir zamanda tahliye edilebilir. Genellikle bu bellek baskısı nedeniyle olur (ancak diğer nedenlerle olabilir - memcache sunucuları aşağı gidiyor gibi). Memcache tabanlı çözümlerin neden az sayılabilecek bir nedeni var. –