Ana içeriğe geç
Programlama

Ruby 4.0 için Ractor tabanlı web sunucusu Kino duyuruldu

Öne çıkanlar

  • Kino, Rust tabanlı tokio ön yüzü ve Ruby Ractor mimarisiyle tek süreçte gerçek paralellik sunuyor.
  • Sentetik testlerde Puma kümesine kıyasla bellek tüketimini 7 kata kadar azalttı.
  • Rails gibi Ractor uyumsuz uygulamalar için çoklu iş parçacığı kipi içeriyor.

Geliştirici Yaroslav, Ruby 4.0 ve üzeri sürümlerde çok çekirdekli işlemcileri tek bir süreç içinde paralel çalıştırabilen Kino adlı açık kaynaklı web sunucusunu yayımladı. Geleneksel Ruby web sunucuları küresel sanal makine kilidi (GVL) kısıtlaması nedeniyle her işlemci çekirdeği için ayrı bir süreç çatallamak (fork) zorunda kalırken, Kino bu işlemi Rust tabanlı bir ağ ön yüzü (tokio ve hyper) ve Ruby'nin Ractor eşzamanlılık modelini birleştirerek tek bir süreçte çözüyor.

Sekiz çekirdekli sunucularda yapılan performans testlerinde Kino, sentetik testlerde Puma kümesine kıyasla işlemci yoğun işlerde yüzde 30'dan fazla hız artışı ve yaklaşık 7 kat daha az bellek tüketimi sergiledi. Sunucu, henüz Ractor desteği bulunmayan Rails gibi çerçeveler için standart çoklu iş parçacığı (threaded) kipine de sahip. Bu kipte Rails çalıştırıldığında Puma kümesine göre yaklaşık 4 kat daha az bellek harcanıyor.

Kino; hata denetimi, bağlantı sınırlamaları, TLS desteği ve 503 geri basınç yönetimi gibi üretime yönelik altyapı özelliklerini içeriyor. Ayrıca 'kino --check' komutu, mevcut uygulamaların Ractor uyumluluğunu engelleyen değişken ve nesneleri geliştiriciye doğrudan listeliyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.