Cloudflare, depolama gereksinimlerini azaltmak için önbellek kod dönüştürmeyi test ediyor


Cloudflare yakın zamanda, uygun önbellek içeriğini (çoğunlukla HTML, JSON, CSS ve JavaScript gibi sıkıştırılmamış metinleri) diske kaydetmeden önce Zstandard’ı kullanarak sıkıştıran Önbellek Dönüştürme adlı bir prototipi açıkladı. Hiper ölçekleyici, yaklaşımın petabaytlarca ek etkili önbellek kapasitesi sağlayabileceğini tahmin ediyor, ancak daha kapsamlı testlere hala ihtiyaç var.

Makaleye göre, içerik önbelleğe girdiğinde sıkıştırıldığı ve sunulduğunda sıkıştırıldığı için gereken ek işlem nispeten küçüktür. Sıkıştırma, uygun içeriğin boyutunu yaklaşık 2,8 kat azaltarak mevcut sunucuların daha fazla veri depolamasına olanak tanıdı ve veri merkezleri arasında aktarılan veri miktarını azalttı.

Bunu başarmak için Cloudflare, Facebook tarafından gerçek zamanlı kullanım için geliştirilen kayıpsız sıkıştırma algoritması Zstandard’a ve Rust tabanlı proxy çerçevesi Pingora’ya güveniyor. Aashi Patel şöyle yazıyor:

CPU’daki küçük bir artış, Cloudflare’e petabaytlarca etkili önbellek kapasitesi sağlar ve veri merkezlerimiz arasında aktarılan verileri azaltır. Kodlama maliyeti, bir varlık önbelleğe girdiğinde ödenir. Depolama ve bant genişliği tasarrufları, varlığın her yeniden kullanımında devam eder.

Cloudflare’in Önbellek Kod Dönüştürme özelliği yalnızca sıkıştırılabilir metin içeren, başarıyla dönen ve en az 4 KiB olan sıkıştırılmamış yanıtları sıkıştırır. Aralıklı istekleri, önceden sıkıştırılmış veya ikili içeriği ve bilinmeyen boyuttaki yanıtları hariç tutar. Eşik, birçok küçük nesnenin işlenmesini önlerken uygun verilerin yalnızca %1’inden ödün verir ve hem bu eşik hem de Zstandard sıkıştırma düzeyi, CPU ve depolama değiş tokuşlarına göre ayarlanabilir. Patel şunu ekliyor:

Kod dönüştürme her şeyi sıkıştırmak anlamına gelmez. Resimler, videolar ve yazı tipleri genellikle zaten sıkıştırılmıştır. Trafik örneğimizde bu medya bölümü isteklerin %21,4’ünü, baytların ise %63,3’ünü oluşturuyordu. Tekrar sıkıştırmak CPU’yu boşuna yakacaktır.

Cloudflare’e göre HTML, JSON, CSS ve JavaScript gibi sıkıştırılabilir metinler isteklerin %67,3’ünü ve baytların %22,3’ünü oluşturuyordu. Bu içeriğin yaklaşık %71’i sıkıştırılmamış olarak geldi ve verimli bir şekilde sıkıştırılabildi.

Cloudflare, depolama gereksinimlerini azaltmak için önbellek kod dönüştürmeyi test ediyor

Kaynak: Cloudflare blogu

Bazı uygulayıcılar kodlama/kod çözme yaklaşımı için “kod dönüştürme” kelimesinin kullanımını sorgularken, Hacker News’teki diğerleri sıkıştırma seçeneklerini tartışıyor. Cloudflare başlangıçta kod dönüştürmeyi popüler içerikle sınırlamayı düşündüğünden, kullanıcı MayeulC yazmak:

Garip bir şekilde, amaç kod çözme sırasında CPU zamanından tasarruf etmek olsaydı bunun yerine soğuk içeriği sıkıştırırdım.

Kullanıcı CodesInChaos onun yerine şunu sor:

Bunun aralık isteklerini nasıl etkilediği konusunda kafam karıştı. Sıkıştırma olmadan bunlar, önbelleğe alınmış dosyanın tamamının ilgili kısmı okunarak kolayca karşılanabilir. Peki şimdi onlara nasıl davranılıyor?

Sıkıştırmanın yerel önbellekleme ve önbellek katmanları arasındaki aktarımlar üzerindeki etkisini ölçmek için katmanlı önbellek içeren ve içermeyen testler gerçekleştirildi. Prototip, farklı sıkıştırma düzeyleri, içerik türleri, nesne boyutları ve önbellek senaryoları için planlanan ek testlerle birlikte geliştirilme aşamasındadır.



Leave a Reply

Your email address will not be published. Required fields are marked *