Karakteristik dan pemantauan Amazon EBS I/O - Amazon EBS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Karakteristik dan pemantauan Amazon EBS I/O

Pada konfigurasi volume tertentu, karakteristik I/O tertentu mendorong perilaku kinerja untuk EBS volume Anda. SSDVolume yang didukung — Tujuan Umum SSD (gp2dangp3) dan Disediakan IOPS SSD (io1danio2) —memberikan kinerja yang konsisten apakah operasi I/O acak atau berurutan. HDDVolume yang didukung — Throughput Optimized HDD (st1) dan Cold HDD (sc1) —memberikan kinerja optimal hanya ketika operasi I/O besar dan berurutan. Untuk memahami bagaimana SSD dan HDD volume akan bekerja dalam aplikasi Anda, penting untuk mengetahui hubungan antara permintaan pada volume, jumlah yang IOPS tersedia untuk itu, waktu yang dibutuhkan untuk menyelesaikan operasi I/O, dan batas throughput volume.

IOPS

IOPSadalah satuan ukuran yang mewakili operasi input/output per detik. Operasi diukur dalam KiB, dan teknologi drive yang mendasarinya menentukan jumlah maksimum data yang dihitung tipe volume sebagai I/O tunggal.Ukuran I/O dibatasi pada 256 KiB untuk volume SSD dan 1.024 KiB untuk HDD volume karena volume menangani I/O kecil atau acak jauh lebih efisien daripada SSD volume. HDD

Ketika operasi I/O kecil secara fisik berurutan, Amazon EBS mencoba menggabungkannya menjadi satu operasi I/O hingga ukuran I/O maksimum. Demikian pula, ketika operasi I/O lebih besar dari ukuran I/O maksimum, Amazon EBS mencoba membaginya menjadi operasi I/O yang lebih kecil. Tabel berikut menunjukkan beberapa contoh.

Tipe volume Ukuran I/O maksimum Operasi I/O dari aplikasi Anda Jumlah IOPS Catatan
SSD 256 KiB Operasi I/O 1 x 1024 KiB 4 (1.024÷256=4) Amazon EBS membagi operasi 1.024 I/O menjadi empat operasi 256 KiB yang lebih kecil.
8 x 32 KiB operasi I/O berurutan 1 (8x32=256) Amazon EBS menggabungkan delapan operasi I/O 32 KiB berurutan menjadi satu operasi 256 KiB.
8 acak 32 KiB operasi I/O 8 Amazon EBS menghitung operasi I/O acak secara terpisah.
HDD 1.024 KiB Operasi I/O 1 x 1024 KiB 1 Operasi I/O sudah sama dengan ukuran I/O maksimum. Hal ini tidak digabung atau dibagi.
8 x 128 KiB operasi I/O berurutan 1 (8x128=1.024) Amazon EBS menggabungkan delapan operasi 128 KiB I/O berurutan menjadi satu operasi I/O 1.024 KiB.
8 acak 32 KiB operasi I/O 8 Amazon EBS menghitung operasi I/O acak secara terpisah.

Akibatnya, ketika Anda membuat volume yang SSD didukung mendukung 3.000 IOPS (baik dengan menyediakan volume Provisioned pada 3.000 IOPS atau dengan mengukur IOPS SSD volume Tujuan Umum SSD pada 1.000 GiB), dan Anda melampirkannya ke instans yang EBS dioptimalkan yang dapat memberikan bandwidth yang cukup, Anda dapat mentransfer hingga 3.000 I/O data per detik, dengan throughput ditentukan oleh ukuran I/O.

Panjang antrean volume dan latensi

Panjang antrean volume adalah jumlah permintaan I/O tertunda untuk perangkat. Latensi adalah waktu end-to-end klien sebenarnya dari operasi I/O, dengan kata lain, waktu yang berlalu antara mengirim I/O ke EBS dan menerima pengakuan dari EBS bahwa I/O membaca atau menulis selesai. Panjang antrian harus dikalibrasi dengan benar dengan ukuran dan latensi I/O untuk menghindari terjadinya kemacetan baik pada sistem operasi tamu atau pada tautan jaringan. EBS

Panjang antrian optimal bervariasi untuk setiap beban kerja, tergantung pada sensitivitas IOPS dan latensi aplikasi tertentu. Jika beban kerja Anda tidak memberikan permintaan I/O yang cukup untuk sepenuhnya menggunakan kinerja yang tersedia untuk EBS volume Anda, maka volume Anda mungkin tidak memberikan IOPS atau throughput yang telah Anda sediakan.

Aplikasi intensif transaksi sensitif terhadap peningkatan latensi I/O dan sangat cocok untuk volume yang didukung. SSD Anda dapat mempertahankan tinggi IOPS sambil menjaga latensi tetap rendah dengan mempertahankan panjang antrian rendah dan jumlah volume IOPS yang tinggi. Secara konsisten mengemudi lebih IOPS ke volume daripada yang tersedia dapat menyebabkan peningkatan latensi I/O.

Aplikasi throughput-intensif kurang sensitif terhadap peningkatan latensi I/O, dan sangat cocok untuk volume yang didukung. HDD Anda dapat mempertahankan throughput tinggi ke volume yang HDD didukung dengan mempertahankan panjang antrian tinggi saat melakukan I/O berurutan yang besar.

Ukuran I/O dan batas throughput volume

Untuk volume SSD yang didukung, jika ukuran I/O Anda sangat besar, Anda mungkin mengalami jumlah yang lebih kecil IOPS dari yang Anda berikan karena Anda mencapai batas throughput volume. Misalnya, gp2 volume di bawah 1.000 GiB dengan kredit burst yang tersedia memiliki IOPS batas 3.000 dan batas throughput volume 250 MiB/s. Jika Anda menggunakan ukuran 256 KiB I/O, volume Anda mencapai batas throughputnya pada 1000 IOPS (1000 x 256 KiB = 250 MiB). Untuk ukuran I/O yang lebih kecil (seperti 16 KiB), volume yang sama ini dapat mempertahankan 3.000 IOPS karena throughputnya jauh di bawah 250 MiB/s. (Contoh ini mengasumsikan bahwa I/O volume Anda tidak menyentuh batas throughput dari instans.) Untuk informasi selengkapnya tentang batas throughput untuk setiap jenis EBS volume, lihatJenis EBS volume Amazon.

Untuk operasi I/O yang lebih kecil, Anda mungkin melihat higher-than-provisioned IOPS nilai yang diukur dari dalam instance Anda. Ini terjadi ketika sistem operasi instance menggabungkan operasi I/O kecil menjadi operasi yang lebih besar sebelum meneruskannya ke Amazon. EBS

Jika beban kerja Anda menggunakan I/Os berurutan pada HDD -backed st1 dan sc1 volume, Anda mungkin mengalami jumlah yang lebih tinggi dari yang diharapkan yang diukur dari dalam IOPS instans Anda. Hal ini terjadi ketika sistem operasi instans menggabungkan I/O berurutan dan menghitungnya di 1.024 unit berukuran KiB. Jika beban kerja Anda menggunakan I/O yang kecil atau acak, Anda dapat mengalami throughput yang lebih rendah dari yang Anda harapkan. Ini karena kami menghitung setiap I/O acak dan non-sekuensial terhadap IOPS jumlah total, yang dapat menyebabkan Anda mencapai IOPS batas volume lebih cepat dari yang diharapkan.

Apa pun jenis EBS volume Anda, jika Anda tidak mengalami IOPS atau throughput yang Anda harapkan dalam konfigurasi Anda, pastikan bandwidth EC2 instans Anda bukan faktor pembatas. Anda harus selalu menggunakan instance generasi saat ini yang EBS dioptimalkan (atau yang menyertakan konektivitas jaringan 10 Gb/s) untuk kinerja yang optimal. Kemungkinan penyebab lain untuk tidak mengalami yang diharapkan IOPS adalah Anda tidak mengendarai cukup I/O ke EBS volume.

Pantau karakteristik I/O menggunakan CloudWatch

Anda dapat memantau karakteristik I/O ini dengan metrik volume masing-masing CloudWatch volume. Metrik penting yang perlu dipertimbangkan meliputi hal berikut:

  • VolumeStalledIOCheck

  • BurstBalance

  • VolumeReadBytes | VolumeWriteBytes

  • VolumeReadOps | VolumeWriteOps

  • VolumeQueueLength

VolumeStalledIOCheckmemantau status EBS volume Anda untuk menentukan kapan volume Anda terganggu. Metrik adalah nilai biner yang akan mengembalikan status 0 (lulus) atau 1 (gagal) berdasarkan apakah EBS volume dapat menyelesaikan operasi I/O atau tidak. Pemeriksaan ini mendeteksi masalah mendasar dengan EBS infrastruktur Amazon, seperti berikut ini:

  • Masalah perangkat keras atau perangkat lunak pada subsistem penyimpanan yang mendasari volume EBS

  • Masalah perangkat keras pada host fisik yang memengaruhi jangkauan EBS volume dari instans Anda EC2

  • Masalah konektivitas antara instance dan EBS volume

Jika VolumeStalledIOCheck metrik gagal, Anda dapat menunggu AWS untuk menyelesaikan masalah, atau Anda dapat mengambil tindakan, seperti mengganti volume yang terpengaruh atau menghentikan dan memulai ulang instance tempat volume dilampirkan. Dalam kebanyakan kasus, ketika metrik ini gagal, secara otomatis EBS akan mendiagnosis dan memulihkan volume Anda dalam beberapa menit. Anda dapat menggunakan aksi Jeda I/O AWS Fault Injection Service untuk menjalankan eksperimen terkontrol untuk menguji arsitektur dan pemantauan Anda berdasarkan metrik ini untuk meningkatkan ketahanan Anda terhadap kesalahan penyimpanan.

Anda dapat mengukur latensi I/O EBS penyimpanan Amazon menggunakanVolumeReadOps,, VolumeWriteOpsVolumeTotalReadTime, dan. VolumeTotalWriteTime Anda dapat menggunakan rumus berikut untuk memantau latensi I/O rata-rata volume Anda:

Average I/O latency in ms/op = (VolumeTotalReadTime + VolumeTotalWriteTime) / (VolumeReadOps + VolumeWriteOps)

Jika latensi I/O Anda lebih tinggi dari yang Anda butuhkan, periksa drive Anda IOPS dan pastikan bahwa aplikasi Anda tidak mencoba mengemudi IOPS lebih dari yang telah Anda sediakan. Anda dapat menggunakan rumus berikut untuk memantau rata-rata yang didorong IOPS pada volume Anda:

Estimated average IOPS in ops/s = (Sum(VolumeReadOps) + Sum(VolumeWriteOps)) / (Period - Sum(VolumeIdleTime))

Jika aplikasi Anda membutuhkan jumlah yang lebih besar IOPS dari yang dapat diberikan volume Anda, Anda harus mempertimbangkan untuk menggunakan salah satu dari yang berikut:

  • Agp3,io2, atau io1 volume yang disediakan dengan cukup IOPS untuk mencapai latensi yang diperlukan

  • gp2Volume yang lebih besar yang memberikan kinerja dasar IOPS yang cukup

HDD-backed st1 dan sc1 volume dirancang untuk berkinerja terbaik dengan beban kerja yang memanfaatkan ukuran I/O maksimum 1.024 KiB. Untuk menentukan ukuran I/O rata-rata volume Anda, bagi VolumeWriteBytes dengan VolumeWriteOps. Penghitungan yang sama berlaku untuk membaca operasi. Jika ukuran I/O rata-rata di bawah 64 KiB, menambah ukuran operasi I/O yang dikirim ke volume st1 atau sc1 akan meningkatkan performa.

catatan

Jika ukuran I/O rata-rata Anda berada pada atau mendekati 44 KiB, Anda dapat menggunakan instans atau kernel tanpa dukungan deskriptor tidak langsung. Setiap kernel 3.8 Linux dan di atasnya memiliki dukungan ini, serta setiap instans generasi saat ini.

BurstBalance menampilkan saldo bucket lonjakan untuk volume gp2, st1, dan sc1 sebagai persentase dari saldo yang tersisa. Saat bucket lonjakan Anda habis, I/O volume (untuk volume gp2) atau throughput volume (untuk volume st1 dan sc1) dibatasi sesuai acuan. Periksa nilai BurstBalance untuk menentukan apakah volume Anda dipacu karena alasan ini. Untuk daftar lengkap metrik Amazon yang tersedia, lihat CloudWatch Metrik Amazon untuk Amazon EBS dan EBS metrik Amazon untuk instans EBS berbasis Nitro.

Sumber daya terkait

Untuk informasi selengkapnya tentang karakteristik Amazon EBS I/O, lihat presentasi re:Invent berikut: AmazonEBS: Merancang untuk Kinerja.