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 Provisioned 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 input/output operations per second. The operations are measured in KiB, and the underlying drive technology determines the maximum amount of data that a volume type counts as a single I/O. I/O size is capped at 256 KiB for SSD volumes and 1,024 KiB for HDD volumes because SSD volumes handle small or random I/O jauh lebih efisien daripada HDD volume.

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 io2 volume io1 atau 3.000, dengan mengukur volume gp2 pada 1.000 GiBIOPS, atau dengan menggunakan gp3 volume), dan Anda melampirkannya ke instans yang EBS dioptimalkan yang dapat menyediakan 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 yang 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. If you are using a 256 KiB I/O size, your volume reaches its throughput limit at 1000 IOPS (1000 x 256 KiB = 250 MiB). For smaller I/O sizes (such as 16 KiB), this same volume can sustain 3,000 IOPS because the throughput is well below 250 MiB/s. (These examples assume that your volume's I/O tidak mencapai batas throughput instance.) 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 ke dalam 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, EBS yang dioptimalkan (atau yang menyertakan 10 volumeGb/s network connectivity) for optimal performance. Another possible cause for not experiencing the expected IOPS is that you are not driving enough I/O. EBS

Pantau karakteristik I/O menggunakan CloudWatch

Anda dapatkarakteristik I/O ini dengansetiap volume CloudWatch metrik volume.

Monitor untuk I/O yang macet

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.

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.

Pantau latensi I/O untuk volume

Anda dapat memantau latensi rata-rata untuk operasi baca dan tulis untuk EBS volume Amazon masing-masing menggunakan metrik VolumeAvgReadLatency dan VolumeAvgWriteLatency metrik.

Jika latensi I/O Anda lebih tinggi dari yang Anda butuhkan, pastikan bahwa aplikasi Anda tidak mencoba untuk mendorong lebih banyak IOPS atau throughput daripada yang telah Anda sediakan untuk volume Anda. Gunakan rumus berikut untuk menghitung rata-rata IOPS dan throughput yang didorong ke volume Anda selama periode tertentu, lalu bandingkan dengan volume yang disediakan IOPS dan throughput.

Sum(VolumeReadOps) + Sum(VolumeWriteOps) Estimated average IOPS in ops/s = ---------------------------------------- Period - Sum(VolumeIdleTime)
(Sum(VolumeReadBytes) + Sum(VolumeWriteBytes)) / 1024 Estimated average throughput in KiB/s = ----------------------------------------------------- Period - Sum(VolumeIdleTime)

Anda juga dapat memantau VolumeIOPSExceededCheck dan VolumeThroughputExceededCheck metrik untuk menentukan apakah beban kerja Anda secara konsisten mencoba untuk mendorong IOPS atau throughput yang lebih besar dari kinerja yang disediakan volume pada menit tertentu. Jika didorong IOPS secara konsisten melebihi IOPS performa yang disediakan volume Anda, VolumeIOPSExceededCheck metrik akan kembali. 1 Jika throughput yang digerakkan secara konsisten melebihi kinerja throughput yang disediakan volume Anda, metrik akan kembali. VolumeThroughputExceededCheck 1 Jika didorong IOPS dan throughput berada dalam performa yang disediakan volume Anda, metrik akan kembali. 0

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 denganVolumeWriteOps. 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.

Pantau keseimbangan burst bucket untukgp2,st1, dan sc1 volume

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.

Pantau statistik kinerja I/O waktu nyata

Anda dapat mengakses statistik kinerja terperinci real-time untuk EBS volume Amazon yang dilampirkan ke EC2 instans Amazon berbasis Nitro.

Anda dapat menggabungkan statistik ini untuk mendapatkan latensi rata-rata danIOPS, atau untuk memeriksa apakah operasi I/O selesai. Anda juga dapat melihat jumlah total waktu aplikasi Anda telah melebihi EBS volume atau batas penyediaan IOPS atau throughput instans terlampir. Dengan melacak peningkatan statistik ini dari waktu ke waktu, Anda dapat mengidentifikasi apakah Anda perlu meningkatkan batas penyediaan IOPS atau throughput untuk mengoptimalkan kinerja aplikasi Anda. Statistik kinerja terperinci juga mencakup histogram untuk operasi I/O baca dan tulis, yang menyediakan distribusi latensi I/O Anda dengan melacak jumlah total operasi I/O yang diselesaikan dalam pita latensi.

Untuk informasi selengkapnya, lihat Statistik kinerja EBS terperinci Amazon.

Sumber daya terkait

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