View a markdown version of this page

Karakter I/O istik dan pemantauan Amazon EBS - Amazon EBS

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

Karakter I/O istik dan pemantauan Amazon EBS

Pada konfigurasi volume tertentu, I/O karakteristik tertentu mendorong perilaku kinerja untuk volume EBS Anda.

  • SSD-backed volume, SSD Tujuan Umum (gp2dangp3) dan SSD IOPS Tersediakan (io1danio2), memberikan kinerja yang konsisten baik I/O operasi acak atau berurutan.

  • HDD-backed volume, Throughput Optimized HDD (st1) dan Cold HDD (sc1), memberikan kinerja optimal hanya ketika I/O operasi besar dan berurutan.

Untuk memahami bagaimana kinerja volume SSD dan HDD dalam aplikasi Anda, penting untuk mengetahui hubungan antara permintaan pada volume, jumlah IOPS yang tersedia untuknya, waktu yang dibutuhkan untuk menyelesaikan I/O operasi, dan batas throughput volume.

IOPS

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

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

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

Akibatnya, ketika Anda membuat SSD-backed volume yang mendukung 3.000 IOPS (baik dengan menyediakan io2 volume io1 atau dengan 3.000 IOPS, dengan mengukur gp2 volume pada 1.000 GiB, atau dengan menggunakan gp3 volume), dan Anda melampirkannya ke EBS-optimized instance yang dapat menyediakan bandwidth yang cukup, Anda dapat mentransfer hingga 3.000 I/Os data per detik, dengan throughput ditentukan berdasarkan ukuran. I/O

Panjang antrean volume dan latensi

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

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

Transaction-intensive aplikasi sensitif terhadap peningkatan I/O latensi dan sangat cocok untuk SSD-backed volume. Anda dapat mempertahankan IOPS yang tinggi sekaligus menjaga latensi tetap rendah dengan mempertahankan panjang antrean yang rendah dan sejumlah besar IOPS yang tersedia untuk volume. Secara konsisten mendorong lebih banyak IOPS ke volume daripada yang tersedia dapat menyebabkan peningkatan I/O latensi. Untuk konsistensi maksimum, volume harus mempertahankan kedalaman antrian rata-rata (dibulatkan ke bilangan bulat terdekat) sebesar satu untuk setiap 1.000 IOPS yang disediakan dalam satu menit. Misalnya, untuk volume yang disediakan dengan 3.000 IOPS, rata-rata kedalaman antrian harus 3.

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

I/O batas throughput ukuran dan volume

Untuk SSD-backed volume, jika I/O ukuran Anda sangat besar, Anda mungkin mengalami jumlah IOPS yang lebih kecil daripada yang Anda sediakan karena Anda mencapai batas throughput volume. Misalnya, gp2 volume di bawah 1.000 GiB dengan kredit burst yang tersedia memiliki batas IOPS 3.000 dan batas throughput volume 250. MiB/s Jika Anda menggunakan I/O ukuran 256 KiB, volume Anda mencapai batas throughput pada 1000 IOPS (1000 x 256 KiB = 250 MiB). Untuk I/O ukuran yang lebih kecil (seperti 16 KiB), volume yang sama ini dapat mempertahankan 3.000 IOPS karena throughput jauh di bawah 250 MiB/s. (Contoh-contoh ini meng I/O asumsikan bahwa volume Anda tidak mencapai batas throughput instans.) Untuk informasi selengkapnya tentang batas throughput untuk setiap tipe volume EBS, lihat Tipe volume Amazon EBS.

Untuk I/O operasi yang lebih kecil, Anda mungkin melihat nilai IOPS yang lebih tinggi dari yang disediakan seperti yang diukur dari dalam instans Anda. Ini terjadi ketika sistem operasi instance menggabungkan operasi kecil menjadi I/O operasi yang lebih besar sebelum meneruskannya ke Amazon EBS.

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

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

Memantau I/O karakteristik menggunakan CloudWatch

Anda dapat memantau I/O karakteristik ini dengan metrik volume masing-masing CloudWatch volume.

Monitor untuk terhenti I/O

VolumeStalledIOCheck memantau status volume EBS Anda untuk menentukan kapan volume Anda terganggu. Metrik adalah nilai biner yang akan mengembalikan status 0 (lulus) atau 1 (gagal) berdasarkan apakah volume EBS dapat menyelesaikan I/O operasi 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 yang dilampirkan volume. Dalam kebanyakan kasus, ketika metrik ini gagal, EBS akan secara otomatis mendiagnosis dan memulihkan volume Anda dalam beberapa menit. Anda dapat menggunakan I/O tindakan Jeda AWS Fault Injection Service untuk menjalankan eksperimen terkontrol untuk menguji arsitektur dan pemantauan berdasarkan metrik ini untuk meningkatkan ketahanan terhadap kesalahan penyimpanan.

Memantau I/O latensi untuk volume

Anda dapat memantau latensi rata-rata untuk operasi baca dan tulis untuk volume Amazon EBS menggunakan VolumeAvgWriteLatency metrik VolumeAvgReadLatency dan masing-masing. Anda dapat menggunakan tindakan Injeksi Latensi AWS Fault Injection Service untuk menjalankan eksperimen terkontrol guna menguji arsitektur dan pemantauan berdasarkan metrik ini untuk meningkatkan ketahanan terhadap penurunan kinerja penyimpanan.

Jika I/O latensi Anda lebih tinggi dari yang Anda butuhkan, pastikan aplikasi Anda tidak mencoba mendorong lebih banyak IOPS atau throughput daripada yang telah Anda sediakan untuk volume Anda. Anda dapat menggunakan VolumeAvgThroughput metrik VolumeAvgIOPS dan untuk memantau rata-rata IOPS dan throughput yang didorong ke volume Anda dalam satu menit dan kemudian membandingkannya dengan IOPS dan throughput yang disediakan volume. Jika volume tidak mendorong operasi apa pun selama menit, metrik akan melaporkan nilai nol (0). Jika semburan IOPS atau throughput tinggi terjadi untuk waktu yang lebih singkat dari interval menit maka volume mengalami ledakan mikro, tetapi metrik IOPS dan throughput rata-rata mungkin melaporkan bahwa Anda mendorong kinerja yang lebih rendah daripada IOPS atau batas throughput yang disediakan volume Anda. Untuk mengidentifikasi apakah volume Anda mengalami peningkatan kinerja dalam satu menit tertentu, Anda dapat menggunakan VolumeThroughputExceededCheck metrik VolumeIOPSExceededCheck dan. Anda dapat memantau metrik ini untuk menentukan apakah beban kerja Anda secara konsisten berusaha mendorong IOPS atau throughput yang lebih besar dari kinerja volume yang disediakan dalam satu menit tertentu. Jika IOPS yang didorong untuk setiap detik dalam satu menit secara konsisten melebihi kinerja IOPS yang disediakan volume Anda, metrik akan kembali. VolumeIOPSExceededCheck 1 Jika throughput yang didorong untuk setiap detik dalam satu menit secara konsisten melebihi kinerja throughput yang disediakan volume Anda, VolumeThroughputExceededCheck metrik akan kembali1. Jika IOPS dan throughput yang didorong berada dalam kinerja yang disediakan volume Anda, metrik akan kembali. 0

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

  • Volume gp3, io2, atau io1 yang disediakan dengan IOPS yang cukup untuk mencapai latensi yang diperlukan

  • Volume gp2 yang lebih besar yang memberikan performa IOPS dasar yang cukup

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

Pantau keseimbangan bucket burst untuk volume gp2, st1, dan sc1

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

Memantau statistik I/O kinerja waktu nyata

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

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

Untuk informasi selengkapnya, lihat Statistik kinerja terperinci Amazon EBS.

Sumber daya terkait

Untuk informasi selengkapnya tentang I/O karakteristik Amazon EBS, lihat presentasi re:Invent berikut: Amazon EBS: Designing for Performance.