View a markdown version of this page

Pengantar - Pola Desain Praktik Terbaik: Mengoptimalkan Performa Amazon S3

Pengantar

Aplikasi Anda dapat melakukan ribuan transaksi permintaan per detik saat mengunggah dan mengambil penyimpanan dari Amazon S3. Amazon S3 secara otomatis menskalakan ke tingkat permintaan tinggi. Misalnya, aplikasi Anda dapat mencapai setidaknya 3.500 permintaan PUT/COPY/POST/DELETE dan 5.500 GET/HEAD per detik per prefiks dalam sebuah bucket. Jumlah prefiks dalam bucket tidak terbatas. Anda dapat meningkatkan performa baca atau tulis dengan memparalelkan pembacaan. Misalnya, jika Anda membuat 10 prefiks di bucket Amazon S3 untuk memparalelkan pembacaan, Anda dapat menskalakan performa baca menjadi 55.000 permintaan baca per detik.

Beberapa aplikasi danau data di Amazon S3 memindai jutaan atau miliaran objek untuk kueri yang menjalankan banyak data dalam ukuran petabyte. Aplikasi danau data ini mencapai kecepatan transfer instans tunggal yang memaksimalkan penggunaan antarmuka jaringan untuk instans Amazon EC2 mereka, yang dapat mencapai 100 Gb/d pada satu instans. Aplikasi ini kemudian menggabungkan throughput di beberapa instans untuk mendapatkan beberapa terabit per detik.

Aplikasi lainnya peka terhadap latensi, seperti aplikasi olahpesan media sosial. Aplikasi ini dapat mencapai latensi objek kecil yang konsisten (dan latensi first- byte-out untuk objek yang lebih besar) kira-kira 100-200 milidetik.

Layanan AWS lainnya juga dapat membantu mempercepat kinerja untuk arsitektur aplikasi yang berbeda. Misalnya, jika Anda menginginkan tingkat transfer yang lebih tinggi melalui koneksi HTTP tunggal atau latensi milidetik satu digit, gunakan Amazon CloudFront atau Amazon ElastiCache untuk caching dengan Amazon S3.

Selain itu, jika Anda ingin transportasi data cepat dalam jarak jauh antara klien dan bucket S3, gunakan Amazon S3 Transfer Acceleration. Transfer Acceleration menggunakan lokasi edge terdistribusi secara global di CloudFront untuk mempercepat transportasi data yang terpisah secara geografis.

Jika beban kerja Amazon S3 Anda menggunakan enkripsi sisi server dengan AWS Key Management Service (SSE-KMS), lihat AWS KMS Limits dalam AWS Key Management ServicePanduan Developer untuk informasi tentang tingkat permintaan yang didukung untuk kasus penggunaan Anda.

Topik berikut menjelaskan panduan dan pola desain praktik terbaik untuk mengoptimalkan performa aplikasi yang menggunakan Amazon S3.

Panduan ini menggantikan panduan sebelumnya tentang mengoptimalkan performa untuk Amazon S3. Misalnya, sebelumnya panduan performa Amazon S3 merekomendasikan penamaan prefiks dengan karakter yang di-hash untuk mengoptimalkan performa pengambilan data yang sering. Anda sudah tidak perlu memberi nama prefiks pada performa secara acak, dan dapat menggunakan penamaan berdasarkan tanggal berurutan untuk prefiks Anda. Baca Panduan Performa dan Pola Desain Performa untuk informasi terbaru tentang pengoptimalan performa untuk Amazon S3.