Ceph: 1 TiB/s'ye Giden Yolculuk
(ceph.io)Ceph: 1TiB/s'ye Giden Yolculuk
- Ceph kümesinin performans iyileştirme yolculuğunu anlatan bu yazı, uzun süren hata ayıklama ve performans optimizasyonu süreçlerinin ardından 1TiB/s veri işleme hızına ulaşma hikâyesini aktarıyor.
- Clyso adlı şirketin, NVMe tabanlı 10 petabaytlık bir Ceph kümesinin kurulmasına yardımcı olurken karşılaştığı çeşitli teknik sorunlar ve bunlara getirilen çözümler paylaşılıyor.
- Müşterinin ağı son derece hızlı ve Ethernet yapılandırmaları arasında en hızlılardan biri.
Teşekkür
- Clyso'nun müşterisine teşekkür ediliyor; onların iş birliği sayesinde deneyimlerin Ceph topluluğuyla paylaşılması mümkün olmuş.
- Karşılaştırmalı testlerde kullanılan donanımı sağlayan IBM/Red Hat ve Samsung'a da teşekkür ediliyor.
- Ayrıca Ceph'ü harika bir yazılım hâline getirmek için emek veren Ceph katkıcılarına da teşekkür iletiliyor.
Küme yapılandırması
- Müşteri 17 raf boyunca 34 adet çift soketli 2U düğüm önermiş olsa da, Clyso daha küçük düğümler kullanan çeşitli yapılandırmalar önermiş.
- Sonunda Dell mimarisi seçilerek maliyet düşürülmüş; daha hızlı bellek aktarım hızı, daha fazla CPU kaynağı ve daha yüksek ağ aktarım kapasitesi sağlanmış.
- Düğüm arızası durumunda kümenin toparlanması üzerindeki etki yarıya indirilmiş.
Test yapılandırması
- CBT kullanılarak geçici bir Ceph kümesi dağıtılmış ve FIO testleri çalıştırılmış.
- Kütüphane tabanlı FIO testleriyle küme küçük birimlere bölünmüş ve önceki sonuçlarla karşılaştırılmış.
- 3X replikasyon ve 6+2 erasure coding test edilmiş; message version 2 ise encrypted mode ve secure mode ile sınanmış.
PG sayısı hakkında uyarı
- PG sayısının performans üzerindeki etkisi deneysel olarak test edilmiş.
- Yüksek PG sayısı performansa olumlu etki yapabilse de, gerçek üretim ortamında diğer ayarlarla birlikte değerlendirilmesi gerektiği belirtiliyor.
Zor başlayan süreç
- Donanıma ilk kez giriş yapıldıktan sonra, beklenenden düşük performans nedeniyle sorun gidermek zor olmuş.
- İlk performans testleri iyi görünse de, birden çok OSD kullanılan testlerde performans düşüşü yaşanmış.
Tuhaf davranış
- Farklı OSD test kombinasyonları çalıştırılırken performansta garip örüntüler fark edilmiş.
- Sistemin çoklu OSD testlerinden sonra performansının düştüğü, ancak birkaç saat sonra yeniden toparlandığı gözlemlenmiş.
Üç çözüm
- CPU c-state geçişlerinden kaynaklanan gecikme sorunu çözülerek performans bir miktar artırılmış.
- IOMMU devre dışı bırakılarak performans önemli ölçüde yükseltilmiş.
- RocksDB derleme bayraklarıyla ilgili sorun çözülerek 4K rastgele yazma performansı iki katına çıkarılmış.
2024'ün ilk haftası
- Yeni yılın ilk gününde başka bir kümede yaşanan büyük arıza nedeniyle performans testlerine odaklanılamamış.
- Cuma günü performans testlerine yeniden başlanmış ve kümenin yüksek yük altında da iyi çalıştığı doğrulanmış.
Kaderin gülümseyişi
- Performans test sonuçları iyileştikçe, kümenin doğrusal biçimde ölçeklendiği doğrulanmış.
- 63 düğümlü bir kümede 635GiB/s veri işleme hızına ulaşılmış.
Kısmen çalışan Ölüm Yıldızı
- Yeterli istemci düğümü olmadığı için OSD düğümleri ile FIO süreçlerinin paylaşılması gerekmiş.
- Buna rağmen 950GiB/s'ye yakın performans elde edilmiş.
1TiB/s'ye ulaşmak
- OSD shard sayısı ve messenger thread sayısı ayarlanarak 1TiB/s veri işleme hızına ulaşılmış.
Uyku; erasure coding
- 3X replikasyon ile test yapıldıktan sonra, müşterinin kullanacağı 6+2 erasure coding ile küme yeniden yapılandırılarak test edilmiş.
- Okuma performansı 500GiB/s'nin üzerine çıkarken, yazma performansı neredeyse 400GiB/s'ye ulaşmış.
GN⁺ görüşü:
- Bu yazı, Ceph kümesinde performans optimizasyonu sürecini ayrıntılı biçimde anlatarak, karmaşık sorun çözme süreçleri üzerinden yüksek performansa ulaşılmış somut bir örnek sunuyor ve teknik içgörü sağlıyor.
- Müşteriyle iş birliğinin, topluluk katkıcılarının emeğinin ve çeşitli donanım ile yazılım optimizasyon stratejilerinin gerçek dünyada nasıl büyük sonuçlar doğurabildiğini gösteriyor.
- Bu yazı, yalnızca büyük ölçekli veri depolama sistemleriyle çalışan uzmanlara değil, performans optimizasyonuna ilgi duyan mühendislere de faydalı bilgiler sunuyor.
1 yorum
Hacker News görüşleri