2016-03-23 23 views
0

10 düğümlü, numaralı çok düğümlü bir Cassandra kümesini başarıyla yükledim. Düğüm durumu komutu, her düğümün YUKARI ve NORMAL olduğunu gösterir.Cassandra Performans Ayarlama

Ancak aldığım Performans çok kötü.

Consistency level = 1 
Replication Factor = 3 
Heap size = 4GB 

Benim Donanım: Her bir düğüm bir olduğunu ben Performansın Bugüne dek yapmış

Tuning ölçmek için YCSB kullanıyorum

Operations /seconds = 4000 
Read Latency = 13ms 
write Latency = 10ms 

: Burada

benim sonuçlarıdır CentOS

2GHZ CPU with 8 cores 
8GB RAM 
1GB/ps N/W 

Kümemden en yüksek performansı almak için daha fazla ayar yapabileceğimi lütfen bana bildirin.

+0

Fiziksel donanım neye benziyor? VM'lerin kaynakları (CPU, RAM, diskler, NIC'ler) paylaşması gerekiyor mu? toplam RAM 64 GB olan – Ralf

+0

@Ralf VM'ın payı Evet kaynaklar, , ben her VM işlemci ve NIC için 8GB/RAM atamış paylaşılır. – Akki

+2

Tüm C * düğümlerini tek bir fiziksel makinede çalıştırmak, yatay ölçeklemeyi ve donanım hatası toleransını neredeyse hiç üretmez. Tüm düğümler aynı kaynaklar için rekabet eder. Özellikle de muhtemelen darboğaz olan diskler. , CPU kullanımı olan i) Ben nmon kullanarak kontrol ettikten SAS diskler (Yani var yeterince diskler) ii) ile NetApp Depolama Denetleyicisi kullanıyorum : – Ralf

cevap

0

Üzerinde 10 VM çalıştıran 1 sisteminiz varsa ve 1 diskte, (bellek içi olmayan) bir veritabanının performansı kötü olacaktır. Özellikle eğirme diskleri olan (ne kadar pahalı olsalar da) büyük bir çekişme noktası olacaktır. Gerçekten iyi bir SSD ile birkaç örneği çekebilirsiniz, ancak performans stres testi muhtemelen her zaman ya da bir CPU darboğazına vuracaktır (eğer sistemler için doğru şekilde yapılandırılmışsa).

4gb yığınları ve stres iş yükü ile oldukça iyi bir şans, GC ve bellek sorunlarına vuracaksınız, bunun etrafında herhangi bir izleme var mı? Visualvm'yi kullanabilir ve ip:7199'a bağlanabilirsiniz (ip, cassandra-env.sh'da ayarlanır).

Vm başına 8GB ram, minimum özellikte sona ermektedir. Offheap malzeme ve işletim sistemi için en az 8GB JVM yığınını istiyorsunuz. Bir 16GB sistemi muhtemelen yeterlidir. Bir kez daha paylaşılan disk performansı öldürecek, böylece sadece bu kadar ileri gidecektir. ancak 4k/sn'den çok daha iyi yapabilmelidir.

+0

Ancak, FiberChannel bağlantısıyla sunucuya bağlı depolama denetleyicim var (16 x 600 GB SAS Diskleri). CPU'yu izlemek için nmon'u kullanmam nedeniyle CPU darboğazı yok ve YCSB çalışırken% 60 hala kullanılıyor. VM'leri kullanıyorum ve performansın bir isabet alacağını ama hala 4000 Operasyon/saniyenin düşük olduğunu, Şimdi GC'yi kontrol edip güncellemeyi anlıyorum. – Akki

+0

Düşük yığının ani darboğaz olduğundan şüpheleniyorum. 5 düğümle deneyebilir ve OS bellek/yığınların boyutunu ikiye katlayabilir misiniz? 8gb için varsayılan jvm yığın ayarları oldukça iyidir. –