Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
I/O Karakteristik dan pemantauan Amazon EBS
Pada konfigurasi volume tertentu, I/O karakteristik tertentu mendorong perilaku kinerja untuk volume EBS Anda.
-
SSD-backed volume, General Purpose SSD (
gp2dangp3) dan Provisioned IOPS SSD (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.
Topik
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 oleh tipe volume sebagai satu I/O. I/O Ukuran dibatasi pada 256 KiB untuk volume SSD dan 1.024 KiB untuk volume HDD karena volume SSD menangani kecil atau I/O acak jauh lebih efisien daripada volume HDD.
Ketika I/O operasi kecil secara fisik berurutan, Amazon EBS mencoba menggabungkannya menjadi satu I/O operasi hingga ukuran maksimum. I/O 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 maksimal | I/O operasi dari aplikasi Anda | Jumlah IOPS | Catatan |
|---|---|---|---|---|
| SSD | 256 KiB | 1 x 1024 KiB operasi I/O | 4 (1.024รท256=4) | Amazon EBS membagi operasi 1.024 KiB menjadi empat operasi 256 I/O KiB yang lebih kecil. |
| 8 x operasi 32 KiB I/O 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 operasi I/O | 1 | I/O Operasi sudah sama dengan I/O ukuran maksimum. Hal ini tidak digabung atau dibagi. |
| 8 x operasi 128 KiB I/O 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 io1 atau io2 volume dengan 3.000 IOPS, dengan mengukur volume gp2 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 data per detik, dengan throughput I/Os 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 end-to-end 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 membaca atau menulis telah selesai. I/O Panjang antrian harus dikalibrasi dengan benar dengan I/O ukuran dan latensi untuk menghindari terjadinya 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 memberikan I/O permintaan yang cukup untuk sepenuhnya menggunakan kinerja yang tersedia untuk volume EBS Anda, maka volume Anda mungkin tidak memberikan 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) dari 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 HDD-backed volume yang tinggi dengan mempertahankan panjang antrian yang tinggi saat melakukan yang besar dan berurutan. I/O
I/O batas ukuran dan volume throughput
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 throughputnya 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 throughputnya jauh di bawah 250. MiB/s (Contoh-contoh ini mengasumsikan bahwa volume Anda tidak mencapai batas throughput instance.) I/O 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 yang diukur dari dalam instance 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 I/Os on HDD-backed st1 dan sc1 volume berurutan, Anda mungkin mengalami jumlah IOPS yang lebih tinggi dari yang diharapkan yang diukur dari dalam instans Anda. Ini terjadi ketika sistem operasi instance menggabungkan sekuensial 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 kami menghitung setiap acak, non-sekuensial I/O terhadap jumlah IOPS total, yang dapat menyebabkan Anda mencapai batas IOPS volume lebih cepat dari yang diharapkan.
Apa pun tipe volume EBS Anda, jika Anda tidak mengalami IOPS atau throughput yang Anda harapkan dalam konfigurasi, pastikan bahwa bandwidth instans EC2 Anda tidak menjadi faktor pembatas. Anda harus selalu menggunakan EBS-optimized instance generasi saat ini (atau yang mencakup 10 konektivitas Gb/s jaringan) untuk kinerja yang optimal. Kemungkinan penyebab lain untuk tidak mengalami IOPS yang diharapkan adalah Anda tidak cukup mengemudi I/O ke volume EBS.
Monitor I/O karakteristik menggunakan CloudWatch
Anda dapat memantau I/O karakteristik ini dengan metrik volume masing-masing CloudWatch volume.
Monitor untuk macet 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 tempat volume dilampirkan. 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 Anda berdasarkan metrik ini untuk meningkatkan ketahanan Anda terhadap kesalahan penyimpanan.
Pantau I/O latensi untuk volume
Anda dapat memantau latensi rata-rata untuk operasi baca dan tulis untuk volume Amazon EBS masing-masing menggunakan VolumeAvgWriteLatency metrik VolumeAvgReadLatency dan metrik. Anda dapat menggunakan aksi Injeksi Latensi AWS Fault Injection Service untuk menjalankan eksperimen terkontrol guna menguji arsitektur dan pemantauan berdasarkan metrik ini untuk meningkatkan ketahanan Anda terhadap penurunan kinerja penyimpanan.
Jika I/O latensi Anda lebih tinggi dari yang Anda butuhkan, pastikan aplikasi Anda tidak mencoba untuk mendorong lebih banyak IOPS atau throughput daripada yang telah Anda sediakan untuk volume Anda. Anda dapat menggunakan VolumeAvgThroughput metrik VolumeAvgIOPS dan untuk memantau IOPS rata-rata 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 satu menit, metrik akan melaporkan nilai nol (0). Jika semburan IOPS atau throughput tinggi terjadi untuk waktu yang lebih singkat daripada interval menit maka volume mengalami ledakan mikro, tetapi rata-rata IOPS dan metrik throughput dapat melaporkan bahwa Anda mendorong kinerja yang lebih rendah daripada IOPS yang disediakan volume atau batas throughput. Untuk mengidentifikasi apakah volume Anda mengalami ledakan kinerja dalam satu menit tertentu, Anda dapat menggunakan VolumeThroughputExceededCheck metrik VolumeIOPSExceededCheck dan metrik. Anda dapat memantau metrik ini untuk menentukan apakah beban kerja Anda secara konsisten berusaha mendorong IOPS atau throughput yang lebih besar dari kinerja yang disediakan volume pada menit tertentu. Jika IOPS yang digerakkan selama satu detik dalam satu menit secara konsisten melebihi kinerja IOPS yang disediakan volume Anda, metrik akan kembali. VolumeIOPSExceededCheck 1 Jika throughput yang digerakkan selama satu detik dalam satu menit secara konsisten melebihi kinerja throughput yang disediakan volume Anda, metrik akan kembali. VolumeThroughputExceededCheck 1 Jika IOPS dan throughput yang digerakkan berada dalam performa 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, atauio1yang disediakan dengan IOPS yang cukup untuk mencapai latensi yang diperlukan -
Volume
gp2yang 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 1.024 I/O 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 harus meningkatkan kinerja.
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 burst Anda habis, volume I/O (untuk gp2 volume) atau throughput volume (untuk st1 dan sc1 volume) dibatasi ke garis dasar. Periksa nilai BurstBalance untuk menentukan apakah volume Anda dipacu karena alasan ini. Untuk daftar lengkap metrik Amazon EBS yang tersedia, lihat dan metrik CloudWatch Metrik Amazon untuk Amazon EBS Amazon EBS untuk instans. Nitro-based
Pantau 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 melebihi volume EBS atau IOPS atau batas throughput yang disediakan instans terlampir. Dengan melacak peningkatan statistik ini dari waktu ke waktu, Anda dapat mengidentifikasi apakah Anda perlu meningkatkan IOPS yang disediakan atau batas throughput untuk mengoptimalkan kinerja aplikasi Anda. Statistik kinerja terperinci juga mencakup histogram untuk I/O operasi baca dan tulis, yang menyediakan distribusi I/O latensi Anda dengan melacak jumlah total I/O operasi yang diselesaikan dalam pita latensi.
Untuk informasi selengkapnya, lihat Amazon EBS statistik kinerja terperinci.
Sumber daya terkait
Untuk informasi selengkapnya tentang I/O karakteristik Amazon EBS, lihat presentasi re:Invent berikut: Amazon EBS