Müşteriler, herhangi bir fiziksel veya sanal donanım ve Kubernetes üzerinde çalışan yüksek performanslı S3 uyumlu nesne depolama elde etmek için MinIO'yu ortamlarına getiriyor. Yayınlanan kıyaslamalarımız MinIO'nun mevcut en hızlı nesne depolaması olduğunu ancak yalnızca verdiğiniz donanım ve ağ kadar hızlı çalışabileceğini gösteriyor. Performans ekibimiz için büyük bir odak noktası olduğundan yöneticilerin MinIO'dan en iyi şekilde yararlanmasına yardımcı olmak için elimizden gelen her şeyi yapıyoruz. Temel altyapının MinIO'yu en iyi şekilde destekleyebildiğini doğrulamak amacıyla performansı değerlendirmek ve potansiyel darboğazları belirlemek için iki yöntem sunuyoruz: WARP ve Speedtest.
AI/ML, gelişmiş analizler ve veritabanları gibi modern uygulamalar, yüksek performanslı nesne depolama gerektirir. MinIO'nun ölçeklenebilirlik ve yüksek performans birleşimi, ne kadar zorlu olursa olsun her iş yükünü ulaşılabilir hale getirir. Performans kritik olduğunda mümkün olan en iyi performansı elde ettiğinizi bilmeniz gerekir. WARP ve Speedtest'ten elde edilen sonuçlar, zaman içindeki performansı izlemek ve ciddi sorunlara dönüşmeden önce potansiyel sorunları proaktif olarak belirlemek için kullanılabilir.
WARP, WARP istemcileri ve nesne depolama ana bilgisayarları arasında testler yürütmek için oluşturulmuş, açık kaynaklı, tam özellikli bir S3 performans değerlendirme yazılımıdır. WARP, birden fazla istemcinin GET ve PUT performansını bir MinIO kümesine göre ölçer. WARP, komut satırı veya çevresel değişkenler tarafından yapılandırılan ve iş yüklerinize uygun testler oluşturmanıza olanak tanıyan birçok seçeneğe sahiptir. Unutmayın; performansı anlamlı bir şekilde değerlendirmek ve nesne depolamanızın çalıştığı gerçek dünya koşullarını temsil eden verileri ve iş yükünü kullanarak test etmek kesinlikle kritik öneme sahiptir.
Buna karşılık Speedtest, akıcı bir deneyim ve özlü sonuçlar sağlayan, kullanımı kolay, otomatik bir performans testidir. MinIO yöneticilerine, MinIO kümelerinin dağıtılmış performans değerlendirmesini tek bir komutla çalıştırma olanağı sağlamak için Kasım ayında Speedtest'i tanıttık . Speedtest, maksimum toplam verimi belirlemek için yükü kademeli olarak artırarak PUTS'u ve ardından GETS'i çalıştırır. MinIO kümenize bağlı olarak testlerin yürütülmesi birkaç saniyeden birkaç dakikaya kadar sürebilir.
WARP ve Speedtest arasında bazı önemli farklar vardır. WARP, MinIO kümenizin performansını WARP istemcileri tarafından yürütülen işlemler aracılığıyla test eden eksiksiz bir araçtır. İstemci makineleri, ağ üzerinden dağıtılmış MinIO kümenize nesnelerin PUTS ve GETS'lerini iletiyor. Bu, WARP'ı beklenen istemci-sunucu performansını test etmek için mükemmel bir mekanizma haline getirir. Buna karşılık Speedtest, nesnelerin PUTS ve GETS'lerini aynı kümedeki diğer MinIO örneklerine iletmek için MinIO örnekleri üzerinde çalışır. Speedtest size performans denkleminin sunucu tarafının neler yapabileceğini söyler.
WARP, nesne depolamada çalıştırmak isteyebileceğiniz hemen hemen her testi (GET, PUT, DELETE, LIST, STAT, RETENTION) içerir ve test çalıştırmaları, iş yüklerinize uyacak özel nesne boyutları karışımını içerebilir. Speedtest, maksimum verimi hızlı bir şekilde belirlemek için ayarlanmış test parametreleri üzerinden çalışır. WARP ek yazılım gerektirse de Speedtest, MinIO'ya dahildir ve mc arayüzünden veya MinIO Konsolundan çalıştırılabilir. Sorun gidermeye yardımcı olmak için müşteriler Speedtest sonuçlarını MinIO mühendisleriyle tek tıklamayla paylaşabilir.
Öncelikle WARP'a bir göz atalım. WARP, MinIO'nun veya herhangi bir S3 uyumlu nesne depolamanın performansını çeşitli koşullar altında kapsamlı bir şekilde karşılaştırmanıza olanak tanıyan bir araçtır. Varsayılan olarak WARP, dağıtılmış modda çalışan MinIO tarafından kullanılan tüm diskler üzerinde karma bir okuma ve yazma testi gerçekleştirecektir.
Bu demo için. MinIO'nun AWS üzerinde dağıtılmış modda çalışmasını test etmek için WARP'ı çalıştıracağız. Bunu son zamanlarda oldukça sık yapıyoruz; böylece potansiyel ve mevcut müşterilerimize, bunları test ederek bulduğumuz en yüksek performanslı yapılandırmalar hakkında tavsiyelerde bulunabiliriz.
WARP, ayrıntılı belgeleri de bulabileceğiniz GitHub deposunda bulunur.
MinIO'yu dağıtılmış modda konuşlandırarak başlayacağız. MinIO'yu kendiniz indirip ortamınıza kurabilirsiniz veya MinIO'yu AWS EC2'ye yüklemek için bu eğitimi takip edebilirsiniz.
Her iki durumda da dağıtılmış bir MinIO dağıtımıyla başlayacağız:
MinIO çalışır hale geldiğinde WARP ile performansı ölçebileceksiniz, o halde başlayalım.
Tüm Amazon UI veya AWS CLI için bulut sunucularını dağıtmak üzere lütfen önceki blog gönderisindeki adımları izleyin ancak ek depolama alanı yapılandırmayın. WARP çalıştıran örneklerin hızlı bir şekilde nesneler oluşturacak ve PUT ve GET işlemlerini ölçecek kadar güçlü olması gerekir, ancak bir MinIO düğümünün ihtiyaç duyduğu depolama hacmini gerektirmez.
172.31.23.237 host1 172.31.26.78 host2 172.31.26.90 host3 172.31.19.110 host4 172.31.27.18 warp1 172.31.23.81 warp2 172.31.19.28 warp3 172.31.19.7 warp4
Ana bilgisayarları ardışık sırayla listelemenizi ve onlarla çalışmanızı tavsiye ettiğimizi unutmayın. Bu, WARP'ın komut satırından başlatılmasını basitleştirir ve her bir WARP istemcisinin ve MinIO ana bilgisayarının yerini bulmayı kolaylaştırır.
[root@ip-172-31-19-7 ec2-user]# wget https://github.com/minio/warp/releases/download/v0.5.5/warp_0.5.5_Linux_arm64.tar.gz 2022-02-08 20:06:04 (66.3 MB/s) - 'warp_0.5.5_Linux_arm64.tar.gz' saved [3943887/3943887] [root@ip-172-31-19-7 ec2-user]# tar -xzvf warp_0.5.5_Linux_arm64.tar.gz LICENSE README.md warp_logo.png warp [root@ip-172-31-19-7 ec2-user]# ./warp client warp: Listening on :7761
Her WARP istemcisinin 7761 numaralı bağlantı noktasını dinlediğine dikkat edin
[root@ip-172-31-27-18 ec2-user]# WARP_ACCESS_KEY=minioadmin WARP_SECRET_KEY=minioadmin ./warp mixed --warp-client warp{1...4}:7761 --host host{1...4}:9000 --duration 120s --obj.size 64M --concurrent 64 warp: Benchmark data written to "warp-remote-2022-02-08[201339]-qymu.csv.zst" Mixed operations. Operation: DELETE, 10%, Concurrency: 256, Ran 1m54s. * Throughput: 39.90 obj/s Operation: GET, 45%, Concurrency: 256, Ran 1m54s. * Throughput: 10903.28 MiB/s, 178.64 obj/s Operation: PUT, 15%, Concurrency: 256, Ran 1m54s. * Throughput: 3628.27 MiB/s, 59.45 obj/s Operation: STAT, 30%, Concurrency: 256, Ran 1m54s. * Throughput: 119.98 obj/s Cluster Total: 14501.38 MiB/s, 397.44 obj/s over 1m55s. warp: Cleanup done. [root@ip-172-31-27-18 ec2-user]#
WARP'ı kullanarak temel bir karma mod performans testini tamamladınız. WARP'yi göstermek için karma mod testi kullanmış olsak da, karma bir işlem yürütmek yerine bireysel işlemleri (GET, PUT, LIST) kendi test çalıştırmalarına bölerek genellikle gerçek dünya kullanımına daha uyumlu daha iyi sonuçlar elde edersiniz. -mod testi.
Daha fazla test senaryosu yürütme hakkında bilgi edinmek için belgelere başvurmanızı öneririz. Örneğin, ortamınızdaki etkilerini ölçmek için TLS ve sunucu tarafı şifrelemeyi etkinleştirebilirsiniz. Eşzamanlı testlerin sayısını artırarak altyapıyı daha fazla strese sokabilirsiniz. Nesne boyutlarının rastgele bir karışımını kullanabilir veya mevcut ortamınıza ve iş yükünüze uygun bir nesne boyutu belirtebilirsiniz. Testleri, yukarıda yaptığımız gibi belirli bir süre boyunca çalışacak veya otomatik olarak sonlandırılacak şekilde yapılandırabilirsiniz.
WARP sonuçları ekranda gösterilir ve zstandard kullanılarak sıkıştırılmış yerel bir CSV dosyasına kaydedilir.
WARP'ın tam esnekliğini istememeniz durumunda Speedtest'i kullanarak MinIO performansını ölçmenin hızlı ve kolay bir yolunu geliştirdik. Speedtest en yaygın olarak otomatik ayar modunda çalıştırılır ve maksimum toplam verimi belirlemek için yükü kademeli olarak artırır.
Speedtest'i çalıştırmak için mc'yi kullanabilirsiniz:
$ mc support perf object <alias>
[root@ip-172-31-77-115 ec2-user]# ./mc support perf object myminio THROUGHPUT IOPS PUT 2.4 GiB/s 38 objs/s GET 4.6 GiB/s 73 objs/s Speedtest: MinIO 2022-02-01T18:00:14Z, 4 servers, 16 drives, 64 MiB objects, 72 threads
Veya Speedtest'i MinIO kümelerini yapılandırmak, yönetmek ve raporlamak için kullanılan tarayıcı tabanlı GUI olan MinIO Konsolundan çalıştırabilirsiniz. Destek menüsüne gidin ve Performans'a tıklayın, ardından başlat düğmesine tıklayın.
Performans testi çalışacaktır. Tamamlandığında, toplu GET ve PUT performansının yanı sıra bireysel düğümlerin performansı da görüntülenir.
Speedtest ile ilgili daha fazla ayrıntı ve örnekler için lütfen bu eğitime bakın.
Bugün MinIO'yu indirerek başlayın. Slack topluluğumuza katılın ve diğer MinIO kullanıcılarıyla fikir alışverişinde bulunun. WARP kullanımıyla ilgili özel sorularınız varsa lütfen Slack kanalımızdan (Matt Sarrel ve Cesar Celis) bize ulaşın veya [email protected] adresinden bize bir e-posta gönderin.
Burada da yayınlandı.