“Solana ShredStream Gecikmem Neden Sürekli Artıyor?”: Nedenler ve Çözümler

“Solana ShredStream Gecikmem Neden Sürekli Artıyor?”: Nedenler ve Çözümler

“Solana ShredStream Gecikmem Neden Sürekli Artıyor?”: Nedenler ve Çözümler
ERPC olarak Solana’nın gerçek zamanlı veri akışını kullanan müşterilerimizden sık sık “ShredStream gecikmesi giderek artıyor ve sonunda duruyor” şeklinde sorular alıyoruz.
Bu makalede, bu sorunun ortaya çıkmasının başlıca nedenlerini açıkça anlatacak ve uygulamanızın performansını iyileştirmek için somut çözümler sunacağız.

ShredStream Gecikmesi Neden Sürekli Artar?

ShredStream şu anda gerçek zamanlı verilerin neredeyse tamamını filtresiz olarak iletir. Bu nedenle istemcinin işlem kapasitesi yetersiz kalırsa veriler birikir ve gecikme kademeli olarak artar.
Başlıca nedenler şunlardır:

1. Node.js veya Tek İş Parçacıklı Ortamlarda İşleme

ShredStream istemcisi başlangıçta TypeScript ve gRPC protokolü kullanılarak geliştirildi. Ancak filtreler henüz uygulanmadığından Node.js gibi tek iş parçacıklı bir ortam, işlem sınırlarına hızla ulaşır ve gecikmenin sürekli artmasına neden olur.
Aynı makinede bir Rust istemcisi kullanıldığında bu sorunun ortaya çıkmadığını tespit ettik ve böylece tek iş parçacıklı işlemenin sınırını doğruladık.

Çözüm: NAPI-RS ile Çok İş Parçacıklı İşleme

Buna karşılık, TypeScript üzerinden denetimi korurken Rust’ta çok iş parçacıklı işlem yapılmasını sağlayan NAPI-RS teknolojisine dayalı bir çözüm geliştirdik. Solana Stream SDK olarak bilinen bu çözüm açık kaynaklıdır ve herkese sunulmaktadır:
Node.js veya TypeScript kullanıyorsanız bu SDK’yı kullanmanızı önemle tavsiye ederiz. En yüksek performans için Rust gibi, yerel kod çalıştıran ve çok iş parçacığını destekleyen bir dil kullanmayı değerlendirin.

2. Yetersiz Sunucu Performansı (özellikle CPU Saat Hızı)

Solana ShredStream kullanan gerçek zamanlı veri akışı uygulamaları, 4 çekirdek ve 16GB RAM’e sahip bir sunucuda genellikle yeterli düzeyde çalışır. Ancak CPU saat hızı son derece önemlidir. Düşük saat hızları gecikmenin kademeli olarak artmasına yol açabilir.
Kârı en üst düzeye çıkarmak üzere yapılandırılmış sunucularda sıklıkla eski nesil CPU’lar veya çok sayıda çekirdeğe karşın düşük saat hızına sahip CPU’lar kullanılır. Örneğin, çok sayıda çekirdeğe sahip dördüncü nesil AMD EPYC CPU’ların (84 çekirdekli modeller gibi) temel saat hızı genellikle yaklaşık 2.2GHz’dir ve turbo boost özelliğinden çoğu zaman etkili biçimde yararlanamazlar. Solana doğrulayıcıları için önerilen asgari gereksinim 2.8GHz olduğundan istemcilerin de en az bu saat hızına sahip CPU’lar kullanmasını önemle tavsiye ediyoruz.
Buna ek olarak VPS sağlayıcıları, bir fiziksel sunucuyu birden fazla sanal sunucuya bölme uygulaması olan “overcommitment” yöntemini yaygın olarak kullanır. Overcommitment uygulanan bir ortamda yoğun saatlerde diğer kullanıcılarla kaynak rekabeti sık sık yaşanır ve bu da performansı olumsuz etkiler.

Çözüm: En Yeni Nesil, Yüksek Saat Hızlı CPU’lara Sahip Bir VPS Kullanın

ERPC, 4.15GHz’e kadar saat hızı sunan en yeni nesil AMD EPYC CPU’larla donatılmış VPS sunucular sağlar. Bare metal çözümlere yakın performans sunan bu sunucular, gerçek zamanlı veri akışı gerektiren Solana iş yükleri için son derece uygundur.
Daha önce yüksek saat hızlı VPS çözümleri bulunmadığı için gerçek zamanlı performansa ihtiyaç duyan kullanıcılar bare metal sunucuları tercih etmek zorunda kalıyordu. ERPC’nin VPS seçenekleri bu sınırlamayı ortadan kaldırır.

Yüksek Performanslı EPYC VPS’mizi Tavsiye Ediyoruz

ERPC VPS
ERPC’nin VPS çözümleri, Solana’nın gerçek zamanlı veri akışı için optimize edilmiştir ve yüksek frekanslı işlem yapan çok sayıda kişi ve proje tarafından büyük beğeni toplamaktadır.
Bu çözümler, bare metal bir sunucunun kaynaklarına ihtiyaç duymadan yüksek performans arayan istemciler için idealdir.
VPS çözümlerimizi denemenizi öneriyoruz.
Ücretsiz deneme veya ayrıntılı danışmanlık için lütfen Validators DAO’nun resmî Discord sunucusunu ziyaret edin:
ERPC, gelişen ihtiyaçlarınızı karşılamak ve daha yüksek performansı desteklemek için araştırma ve geliştirme çalışmalarını sürdürmeye kararlıdır.
Sürekli desteğiniz için teşekkür ederiz.