Ayrıca, her bir parça için yaklaşık 1 milyon kayıt olan bir tuğla duvara çarpıyorum (müşteri tarafında bir parçalama, hiçbir şey fantezi değil). Çeşitli ttserver seçenekleri denedik ve hiçbir fark yaratmak için görünüyordu, ben çekirdek tarafında baktı ve
echo 80 > /proc/sys/vm/dirty_ratio
(önceki değeri 10 idi) olduğu tespit büyük bir gelişme verdi - Aşağıdaki toplam boyutu
total: 14238792 records, 27.5881 GB size
total: 14263546 records, 27.6415 GB size
total: 14288997 records, 27.6824 GB size
total: 14309739 records, 27.7144 GB size
total: 14323563 records, 27.7438 GB size
(here I changed the dirty_ratio setting for all shards)
total: 14394007 records, 27.8996 GB size
total: 14486489 records, 28.0758 GB size
total: 14571409 records, 28.2898 GB size
total: 14663636 records, 28.4929 GB size
total: 14802109 records, 28.7366 GB size
Yani iyileşme 7-8 kez düzeninde olduğu görebilirsiniz: verileri (8 kırıkların üzerine, kendi düğümde her) her dakika baskılı. Veritabanı boyutu bu noktada düğüm başına yaklaşık 4,5GB (dizinler dahil) ve düğümlerin 8GB RAM'i vardı (bu yüzden 10'luk dirty_ratio, çekirdeğin 800MB'den daha az tutmaya çalıştığı anlamına geliyordu).
Denediğim sonraki şey ext2 (şu anda ext3) ve noatime'tır ve aynı zamanda her şeyi bir ramdisk'e (muhtemelen bellek miktarını iki kez boşa harcayacak, ama buna değer olabilir) tutuyor.