Yeni “S3 Artırılmış Talep Oranı Performansı” duyurusu ne anlama geliyor?


12

17 Temmuz 2018'de, maksimum performans elde etmek için artık her S3 nesne anahtarının ilk karakterlerini rastgele hale getirmeye gerek olmadığını açıklayan resmi bir AWS duyurusu vardı: https://aws.amazon.com/about-aws/whats-new / 2018/07 / amazon-s3-duyurdu-artmış-istek-oran-performans /

Amazon S3 Artan Talep Oranı Performansını Duyurdu

Yayınlanan: 17 Tem 2018

Amazon S3 artık veri eklemek için saniyede en az 3.500 isteği ve veri almak için saniyede 5.500 isteği desteklemek için artırılmış performans sağlıyor ve bu da ek ücret ödemeden önemli işlem süresinden tasarruf sağlayabilir. Her S3 öneki bu talep oranlarını destekleyerek performansı önemli ölçüde artırmayı kolaylaştırır.

Bugün Amazon S3 üzerinde çalışan uygulamalar, hiçbir değişiklik yapmadan bu performans geliştirmenin tadını çıkaracak ve S3 üzerinde yeni uygulamalar oluşturan müşterilerin bu performansa ulaşmak için herhangi bir uygulama özelleştirmesi yapmaları gerekmiyor. Amazon S3'ün paralel istek desteği, uygulamanızda herhangi bir özelleştirme yapmadan S3 performansınızı hesaplama kümenizin faktörüne göre ölçeklendirebileceğiniz anlamına gelir. Her önek için performans ölçeklendirir, böylece gerekli verimi elde etmek için paralel olarak ihtiyacınız olduğu kadar çok önek kullanabilirsiniz. Ön ek sayısında sınır yoktur.

Bu S3 istek hızı performans artışı, daha hızlı performans elde etmek için nesne öneklerini rasgeleleştirmek için önceki tüm yönergeleri kaldırır. Bu, artık S3 nesne adlandırma işlemlerinde mantıksal veya sıralı adlandırma kalıplarını herhangi bir performans etkisi olmadan kullanabileceğiniz anlamına gelir. Bu gelişme artık tüm AWS Bölgelerinde mevcuttur. Daha fazla bilgi için Amazon S3 Geliştirici Kılavuzu'nu ziyaret edin.

Bu harika, ama aynı zamanda kafa karıştırıcı. Her S3 önekinin bu talep oranlarını destekleyebileceğini ve performansı önemli ölçüde artırmayı kolaylaştırdığını söylüyor

Ancak, önekler ve sınırlayıcılar, GET Bucket (List Objects)kovaların içeriğini listelerken API'ya yalnızca argümanlar olduğundan, "önek başına" nesne alma performansı hakkında konuşmak nasıl mantıklı olabilir. Her çağrı, GET Bucket (List Objects)istediği öneki ve sınırlayıcıyı seçebilir, bu nedenle önekler önceden tanımlanmış bir varlık değildir.

Örneğin, grubumda şu nesneler varsa:

a1/b-2
a1/c-3

Ardından, kova içeriğini listelediğimde sınırlayıcı olarak "/" veya "-" kullanmayı seçebilirim, bu nedenle öneklerimin

a1/ 

veya

a1/b-
a1/c-

Ancak GET ObjectAPI tüm anahtarı kullandığından, nesne almak için belirli bir önek veya sınırlayıcı kavramı mevcut değildir. Yani 5.500 req / sn açık a1/veya alternatif olarak 5.500 req / sn açık a1/b-ve 5.500 açık bekleyebilir miyim a1/c-?

Birisi, "her s3 öneki" için belirli bir performans düzeyi (örn. Veri almak için saniyede +5,500 istek) önerdiğinde duyuru ile ne ifade edildiğini açıklayabilir mi?


Ben bunun için bir açıklama var, ama bazı onay bulabilir miyim görmek arıyorum. Ben otomatik ve trafik yükü dayalı dizin bölümü bölme algoritması ile ilgili olduğundan şüpheleniyorum ... ve karma yerine sözcüksel.
Michael - sqlbot

Yanıtlar:


9

Aslında burada bir önek olarak adlandırılan şey, kova dizininin her bir bölümünü gerçekten ifade eden bir aşırı basitleştirme gibi görünmektedir. Dizin sözcükseldir, bu nedenle bölünmeler nesne anahtarındaki baştaki karakterlere göre oluşur. Bu nedenle, önek olarak adlandırılır .

S3, dizin bölümlerini otomatik ve şeffaf bir şekilde yönetir, bu nedenle burada bir "önek" in kesin tanımı aslında bir miktar kesin değildir: "Kepçe'nizin iş yükünü desteklemek için S3'in karar vermesi gereken her şeydir". S3, dizin bölümlerini iş yüküne yanıt olarak böler, böylece bugün aynı "önek" e sahip iki nesne yarın farklı arka planlara sahip olabilir, hepsi arka planda yapılır.

Şu anda, a1 / a -... ve a1 / b -... ve a1 / c -... tek bir önek olabilir. Ancak kovaya yeterince trafik atın ve S3 bölümün bölünmesi gerektiğine karar verebilir, böylece yarın, a1 / a- ve a1 / b- bir önekte olabilirken, a1 / c- kendi önekinde olabilir. (Yani, <a1 / c- tuşları bir bölümde,>> a1 / c- tuşları artık farklı bir bölümde).

Bölünmüş davranışı nerede ve ne zaman ve özellikle hangi eşiği tetiklediği belgelenmez, ancak nesnelerin sayısı veya boyutu ile değil, yalnızca istek sayısıyla ilişkili olduğu görülür. Önceden, bu bölümler saniyede birkaç yüz istekle sınırlıydı ve bu önemli ölçüde arttı.


1
Çok ilginç ve inandırıcı. Ancak, önekler yüke göre dinamik olduğundan, bu kesinlikle "önek başına" belirli bir performans ölçüsü atamayı anlamsız hale getirir. Grupunuzun önekleri dinamik olarak değişirse, güvenilir bir performans ölçüsü yoktur. Ya da belki de S3 Object başına 5.500 req / sn bekleyene kadar öneklerin teorik olarak dinamik bir şekilde değişmesi gerektiğini söyleyebilirim?
John Rees

1
Performans ölçüsü yine de yararlıdır, çünkü kova ölçeklendirmesi aşağı değil, yalnızca bir yönde yukarı gitme eğilimindedir. Bölüm başına tek bir nesneye ölçeklenmenin görünen saçmalıkları, nesne başına 5k + req / s için ödeme yapıyorsanız AWS'nin ne kadar para kazanacağını fark ettiğinizde büyük ölçüde ortadan kalkıyor gibi görünüyor.
Michael - sqlbot

1
Evet, bölüm başına tek bir nesne ile biraz bilgiçim. :-) Ancak, daha ciddiye, sanırım bu benim 10000 nesne kova sadece 10 popüler nesne içeriyorsa, o zaman umarım 10 her biri 5k reqs / sn alabilirsiniz diğerleri kadar tekrar bölüme kadar yeniden bölüm olacağını tahmin edebilirim anlamına gelir. birkaç büyük bölmede. Mantıklı?
John Rees

2
S3'ün iş yüküne uyum sağlayacağına dair her türlü güvenim var, evet. İstek tarafında yüksek trafik için resmi rehberlik, daha önce olduğu gibi, CloudFront'u S3 ile birlikte kullanmaktır, çünkü CloudFront gobally dağıtılır ve onları isteyen izleyicilere en yakın kenarlardaki nesneleri önbelleğe alır. Fiyatlandırma, CloudFront'u S3'e eklemenin genellikle toplam maliyet üzerinde hiçbir etkisi olmayacağı şekildedir (çünkü S3, istek önbellek kaybına hizmet etmek için CloudFront'tan geldiğinde herhangi bir bant genişliği için fatura oluşturmaz).
Michael - sqlbot

Teşekkürler Michael. Gerçekten iyi dikkatli cevaplar çok takdir etmek.
John Rees
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.