Bu çok sisteme bağlıdır, ancak bazı keyfi uçurumların ötesine geçip Gerçek Sorun'a girme şansımız neredeyse kesindir. İyi bir RAM / Disk alanı oranı için ne tür kurallar olduğunu merak ediyorum. Bir sonraki sistem turumuzu planlıyoruz ve RAM, SSD'ler ve her yeni düğümden ne kadar alacağına dair bazı seçimler yapmamız gerekiyor.
Ama şimdi bazı performans detayları için!
Tek bir proje çalışmasının normal iş akışı sırasında, MongoDB çok yüksek yazma yüzdesi (% 70-80) ile vurulur. İşleme boru hattının ikinci aşaması isabet ettiğinde, işlemenin ilk yarısında tanımlanan kayıtları tekilleştirmesi gerektiğinden son derece yüksek bir okuma olur. Bu, "çalışma setinizi RAM'de saklayın" için yapılan iş akışıdır ve bu varsayımı etrafında tasarlıyoruz.
Tüm veri kümesine, son kullanıcı kaynaklı kaynaklardan rastgele sorgular gönderilir; sıklık düzensiz olsa da, boyut genellikle oldukça küçüktür (10 belgeden oluşan gruplar). Bu kullanıcı tarafından karşılandığından, yanıtların 3 saniyelik "şimdi sıkılmış" eşiği altında olması gerekir. Bu erişim kalıbının önbellekte olma olasılığı daha düşüktür, bu nedenle disk isabetlerine maruz kalma olasılığı çok yüksektir.
İkincil bir işleme iş akışı, günler, haftalar, hatta aylar öncesine ait olan ve nadiren çalıştırılan ancak yine de hareketli olması gereken önceki işleme çalışmalarının okunmasıdır. Önceki işleme çalışmasındaki belgelerin% 100'üne kadar erişilir. Hiçbir önbellek ısıtması bu konuda yardımcı olamaz, sanırım.
Biten belge boyutları büyük ölçüde değişir, ancak medyan boyutu yaklaşık 8K'dır.
Normal proje işlemenin yüksek oranda okunan kısmı, Okuma trafiğinin dağıtılmasına yardımcı olması için Çoğaltmaların kullanılmasını şiddetle önerir. Başka bir yerde , 1:10 RAM-GB'dan HD-GB'ye kadar yavaş diskler için iyi bir kural olduğunu okudum , Ciddi daha hızlı SSD kullanmayı düşündüğümüz için, benzer bir kural olup olmadığını bilmek istiyorum diskler için başparmak simgesi.
Mongo'yu önbellek-her şeyin gerçekten uçmayacağı bir şekilde kullandığımızı biliyorum, bu yüzden böyle bir kullanımdan kurtulabilecek bir sistemi tasarlamanın yollarını arıyorum. Tüm veri kümesi olasılıkla yarım yıl içinde TB en olacak ve büyümeye devam edecektir.