Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pedoman kinerja dan pola desain untuk S3 Express One Zone
Saat membangun aplikasi yang mengunggah dan mengambil objek dari Amazon S3 Express One Zone, ikuti panduan praktik terbaik kami untuk mengoptimalkan kinerja. Untuk menggunakan kelas penyimpanan S3 Express One Zone, Anda harus membuat bucket direktori S3. Kelas penyimpanan S3 Express One Zone tidak didukung untuk digunakan dengan bucket tujuan umum S3.
Untuk panduan kinerja semua kelas penyimpanan Amazon S3 lainnya dan bucket tujuan umum S3, lihat Pola desain praktik terbaik: mengoptimalkan performa Amazon S3.
Untuk mendapatkan kinerja terbaik bagi aplikasi Anda saat menggunakan kelas penyimpanan dan bucket direktori S3 Express One Zone, kami merekomendasikan panduan dan pola desain berikut ini.
Topik
- Lokasi bersama penyimpanan S3 Express One Zone dengan sumber daya komputasi Anda AWS
- Bucket direktori
- Paralelisasi permintaan penskalaan horizontal bucket direktori
- Gunakan autentikasi berbasis sesi
- Praktik terbaik checksum tambahan S3
- Gunakan versi terbaru dari pustaka runtime umum AWS SDKs dan umum
- Penyelesaian masalah kinerja
Lokasi bersama penyimpanan S3 Express One Zone dengan sumber daya komputasi Anda AWS
Setiap bucket direktori disimpan dalam satu Zona Ketersediaan yang Anda pilih saat membuat bucket. Anda dapat memulai dengan membuat bucket direktori baru di Zona Ketersediaan lokal untuk beban kerja atau sumber daya komputasi Anda. Anda kemudian dapat segera memulai membaca dan menulis latensi sangat rendah. Bucket direktori adalah bucket S3 pertama tempat Anda dapat memilih Availability Zone Wilayah AWS untuk mengurangi latensi antara komputasi dan penyimpanan.
Apabila Anda mengakses bucket direktori di Zona Ketersediaan, latensi akan meningkat. Untuk mengoptimalkan performa, kami menyarankan agar Anda sebisa mungkin mengakses bucket direktori dari instans Amazon Elastic Container Service, Amazon Elastic Kubernetes Service, dan Amazon Elastic Compute Cloud yang berada di Zona Ketersediaan yang sama.
Bucket direktori
Setiap bucket direktori dapat mendukung ratusan ribu transaksi per detik (TPS). Tidak seperti bucket tujuan umum, bucket direktori mengatur kunci secara hierarkis ke dalam direktori alih-alih prefiks. Prefiks adalah string karakter di bagian awal nama kunci objek. Anda dapat menganggap prefiks sebagai cara untuk mengatur data Anda dengan cara yang mirip dengan direktori. Namun, prefiks bukan direktori.
Prefiks mengatur data dalam namespace datar dalam bucket tujuan umum, dan tidak ada batas jumlah prefiks dalam bucket tujuan umum. Setiap awalan dapat mencapai setidaknya 3.500 PUT
POST
/DELETE
atau HEAD
5.500/permintaan per GET
detik. Anda juga dapat memparalelkan permintaan di beberapa prefiks untuk menskalakan kinerja. Namun, penskalaan ini, dalam kasus operasi baca dan tulis, terjadi secara bertahap dan tidak instan. Sementara bucket tujuan umum menskalakan ke tingkat permintaan baru yang lebih tinggi, Anda mungkin menerima beberapa kesalahan kode HTTP status 503 (Layanan Tidak Tersedia).
Dengan namespace hierarkis, pembatas dalam kunci objek menjadi penting. Satu-satunya pembatas yang didukung adalah garis miring (/
). Direktori ditentukan oleh batas pembatas. Misalnya, kunci objek dir1/dir2/file1.txt
menghasilkan direktori dir1
/ dan dir2/
secara otomatis dibuat, dan objek file1.txt
ditambahkan ke direktori /dir2
di jalur dir1/dir2/file1.txt
.
Direktori yang dibuat saat objek diunggah ke bucket direktori tidak memiliki TPS batas per-awalan dan secara otomatis diskalakan sebelumnya untuk mengurangi kemungkinan kesalahan 503 (Layanan Tidak Tersedia). HTTP Penskalaan otomatis ini memungkinkan aplikasi Anda untuk memparalelkan permintaan baca dan tulis di dalam dan di seluruh direktori sesuai kebutuhan.
Paralelisasi permintaan penskalaan horizontal bucket direktori
Anda dapat mencapai kinerja terbaik dengan mengeluarkan beberapa permintaan sekaligus ke bucket direktori untuk menyebarkan permintaan Anda melalui koneksi terpisah untuk memaksimalkan bandwidth yang dapat diakses. S3 Express One Zone tidak memiliki batas untuk jumlah koneksi yang dilakukan ke bucket direktori Anda. Direktori individu dapat menskalakan kinerja secara horizontal dan otomatis ketika terjadi sejumlah besar penulisan bersamaan ke direktori yang sama.
Ketika kunci objek awalnya dibuat dan nama kuncinya termasuk direktori, direktori secara otomatis dibuat untuk objek tersebut. Unggahan objek berikutnya ke direktori yang sama tidak memerlukan direktori yang akan dibuat, yang mengurangi latensi pada unggahan objek ke direktori yang ada.
Meskipun struktur direktori dangkal dan dalam didukung untuk menyimpan objek dalam bucket direktori, bucket direktori secara otomatis menskalakan secara horizontal, dengan latensi yang lebih rendah pada unggahan bersamaan ke direktori yang sama atau ke saudara direktori paralel.
Gunakan autentikasi berbasis sesi
S3 Express One Zone dan bucket direktori mendukung mekanisme otorisasi berbasis sesi baru untuk mengautentikasi dan mengotorisasi permintaan ke bucket direktori. Dengan otentikasi berbasis sesi, secara AWS SDKs otomatis menggunakan CreateSession
API operasi untuk membuat token sesi sementara yang dapat digunakan untuk otorisasi latensi rendah permintaan data ke bucket direktori.
AWS SDKsGunakan CreateSession
API operasi untuk meminta kredensil sementara, dan kemudian secara otomatis membuat dan menyegarkan token untuk Anda atas nama Anda setiap 5 menit. Untuk memanfaatkan manfaat kinerja kelas penyimpanan S3 Express One Zone, kami menyarankan Anda menggunakan AWS SDKs untuk memulai dan mengelola permintaan. CreateSession
API Untuk informasi lebih lanjut tentang model berbasis sesi ini, lihat Mengotorisasi operasi titik akhir API Zonal dengan CreateSession.
Praktik terbaik checksum tambahan S3
S3 Express One Zone menawarkan kepada Anda opsi untuk memilih algoritma checksum yang digunakan untuk memvalidasi data Anda selama mengunggah atau mengunduh. Anda dapat memilih salah satu algoritma pemeriksaan integritas data Secure Hash Algorithms (SHA) atau Cyclic Redundancy Check (CRC) berikut:,, -1, dan -256. CRC32 CRC32C SHA SHA MD5checksum berbasis tidak didukung dengan kelas penyimpanan S3 Express One Zone.
CRC32adalah checksum default yang digunakan oleh AWS SDKs saat mengirimkan data ke atau dari S3 Express One Zone. Kami merekomendasikan penggunaan CRC32 dan CRC32C untuk kinerja terbaik dengan kelas penyimpanan S3 Express One Zone.
Gunakan versi terbaru dari pustaka runtime umum AWS SDKs dan umum
Beberapa di antaranya AWS SDKs juga menyediakan pustaka AWS Common Runtime (CRT) untuk lebih mempercepat kinerja di klien S3. Ini SDKs termasuk AWS SDK for Java 2.x, AWS SDK for C++, dan AWS SDK for Python (Boto3). Klien S3 CRT berbasis mentransfer objek ke dan dari S3 Express One Zone dengan kinerja dan keandalan yang ditingkatkan dengan secara otomatis menggunakan API operasi unggahan multibagian dan pengambilan rentang byte untuk mengotomatiskan koneksi penskalaan horizontal.
Untuk mencapai kinerja tertinggi dengan kelas penyimpanan S3 Express One Zone, sebaiknya gunakan versi terbaru dari AWS SDKs yang menyertakan CRT pustaka atau menggunakan AWS Command Line Interface ()AWS CLI.
Penyelesaian masalah kinerja
Permintaan coba lagi untuk aplikasi yang sensitif latensi
S3 Express One Zone dibuat khusus untuk menghadirkan tingkat kinerja tinggi yang konsisten tanpa penyetelan tambahan. Namun, menetapkan nilai batas waktu yang agresif dan percobaan ulang dapat membantu mendorong latensi dan kinerja yang konsisten. AWS SDKsMemiliki batas waktu yang dapat dikonfigurasi dan nilai coba lagi yang dapat Anda sesuaikan dengan toleransi aplikasi spesifik Anda.
AWS Pustaka Runtime (CRT) umum dan pemasangan jenis EC2 instans Amazon
Aplikasi yang melakukan sejumlah besar operasi baca dan tulis cenderung membutuhkan lebih banyak memori atau kapasitas komputasi daripada aplikasi yang tidak melakukannya. Saat meluncurkan instans Amazon Elastic Compute Cloud (AmazonEC2) untuk beban kerja yang menuntut kinerja, pilih jenis instans yang memiliki jumlah sumber daya ini yang dibutuhkan aplikasi Anda. Penyimpanan berkinerja tinggi S3 Express One Zone idealnya dipasangkan dengan tipe instans yang lebih besar dan lebih baru dengan jumlah memori sistem yang lebih besar dan lebih kuat CPUs dan GPUs dapat memanfaatkan penyimpanan berkinerja lebih tinggi. Kami juga merekomendasikan penggunaan versi terbaru dari CRT -enabled AWS SDKs, yang dapat mempercepat permintaan baca dan tulis secara paralel dengan lebih baik.
Gunakan otentikasi berbasis sesi sebagai ganti AWS SDKs HTTP REST APIs
Dengan Amazon S3, Anda juga dapat mengoptimalkan kinerja saat menggunakan HTTP REST API permintaan dengan mengikuti praktik terbaik yang sama yang merupakan bagian dari permintaan. AWS SDKs Namun, dengan mekanisme otorisasi dan otentikasi berbasis sesi yang digunakan oleh S3 Express One Zone, kami sangat menyarankan Anda menggunakan token AWS SDKs to manage CreateSession
dan managed session token. AWS SDKsSecara otomatis membuat dan menyegarkan token atas nama Anda dengan menggunakan CreateSession
API operasi. Menggunakan CreateSession
penyimpanan pada latensi pulang-pergi per permintaan ke AWS Identity and Access Management (IAM) untuk mengotorisasi setiap permintaan.