Yang lebih cepat untuk akses baca di EC2; drive lokal atau EBS?
11
Yang lebih cepat untuk akses baca pada instance EC2; drive "lokal" atau volume EBS terlampir?
Saya memiliki beberapa data yang perlu dipertahankan sehingga telah menempatkan ini pada volume EBS. Saya menggunakan OpenSolaris, jadi buku ini telah dilampirkan sebagai kumpulan ZFS. Namun, saya memiliki sebagian besar ruang disk EC2 yang tidak digunakan, jadi saya mempertimbangkan untuk menggunakan kembali ini sebagai volume cache ZFS tetapi saya tidak ingin melakukan ini jika akses disk akan lebih lambat daripada bahwa dari volume EBS karena berpotensi memiliki efek yang merugikan.
Hanya untuk menambahkan sedikit pada konsensus yaitu EBS lebih cepat ...
Poin penting untuk dipahami di sini adalah bahwa kecepatan penyimpanan contoh tidak dapat diprediksi - Amazon tidak membuat jaminan tentang hal itu.
Informasi ini berasal dari buku Arsitektur Aplikasi Cloud oleh George Reese (yang tampaknya cukup baik dari apa yang saya skim sejauh ini.) Ini termasuk tabel berjudul Perbandingan opsi penyimpanan data EC2 (hlm. 41); inilah potongan tabel itu (dalam buku ini ada beberapa karakteristik lain yang dibandingkan):
S3 Instance EBS
Speed Low Unpredictable High
Reliability Medium High High
Durability Super high Super low High
Jadi, penyimpanan instance mungkin mengungguli EBS dalam akses baca kadang-kadang, tetapi jika Anda menginginkan kecepatan tinggi yang konstan , Anda memang harus menggunakan EBS. Seperti yang dikatakan Reese dalam bukunya:
Masalah lainnya adalah ketidakpastian kinerja dalam penyimpanan instance. Anda mungkin benar-benar berpikir bahwa itu harus lebih cepat daripada opsi lain, dan terkadang itu. Kadang-kadang, bagaimanapun, itu sangat lambat - lebih lambat dari NFS mount melalui koneksi Ethernet 10bT. EBS, di sisi lain, secara konsisten memberi Anda kinerja SAN melalui koneksi Ethernet GB.
Saya memiliki pengalaman sebaliknya. Kinerja EBS tidak dapat diprediksi. Semua downtime utama EC2 telah melibatkan EBS. Penyimpanan instan selalu memiliki kinerja yang dapat diprediksi.
Joe Van Dyk
3
Karena berlawanan dengan intuisi bahwa disk lokal akan lebih lambat (terutama jika Anda menggunakan SSD), alangkah baiknya memiliki lebih banyak informasi daripada "seseorang mengatakan itu lebih cepat"
L. Blanc
8
Kami menghabiskan sekitar $ 1.000 dalam biaya AWS dalam eksplorasi sistematis ini dan pertanyaan terkait, dan memposting analisis yang luas .
Untuk bacaan acak (kecil), kami menemukan penyimpanan "lokal" (contoh EC2) dan EBS memiliki kinerja yang serupa, tetapi penyimpanan lokal memiliki ekor latensi yang lebih baik.
Untuk bacaan sekuensial (bulk), EBS lebih cepat pada m1.small, tetapi lokal lebih cepat pada m1.large. Kami tidak secara langsung membandingkan lokal vs EBS pada jenis instance lain, tetapi kami menemukan bahwa peningkatan ukuran instance memiliki lebih banyak efek pada kinerja toko lokal daripada pada kinerja EBS.
Ada juga pertanyaan biaya. Dengan menggeser I / O dari EBS ke disk lokal, Anda akan mengurangi biaya AWS Anda.
Saya telah mendengar laporan bahwa Anda harus menulis di drive sekali, karena penulisan awal ke lokasi memiliki overhead yang tinggi. Selain itu, terkadang Anda bisa mendapatkan pengontrol EBS yang buruk, jadi sebaiknya periksa kecepatannya sebelum melakukan sesuatu yang penting. Saya telah melihat sejumlah kecil drive dengan masalah itu. Itu muncul ketika saya snapshotting 4 500GB drive, dan 1 dari mereka mengambil 4-5x lebih lama, bahkan dengan data yang sama.
Flashman
1
Amazon telah membuat klaim yang tidak jelas bahwa EBS umumnya akan mengungguli partisi awal "lokal" pada instance EC2. Saya tahu bahwa saya telah mengalami throughput yang lebih tinggi pada volume EBS dalam penggunaan saya sendiri, tetapi saya tidak repot-repot mengukur latensi.
Jika Anda ingin tahu tentang kinerja dalam penggunaan tertentu, taruhan terbaik Anda mungkin adalah membuat contoh uji. Saya tahu saya akan melakukannya.
Saya sudah menjalankan instance MySQL pada volume EBS dan senang dengan kinerjanya. Saya juga tidak memiliki data keras, tetapi itu bekerja dengan baik.
Kami menghabiskan sekitar $ 1.000 dalam biaya AWS dalam eksplorasi sistematis ini dan pertanyaan terkait, dan memposting analisis yang luas .
Untuk bacaan acak (kecil), kami menemukan penyimpanan "lokal" (contoh EC2) dan EBS memiliki kinerja yang serupa, tetapi penyimpanan lokal memiliki ekor latensi yang lebih baik.
Untuk bacaan sekuensial (bulk), EBS lebih cepat pada m1.small, tetapi lokal lebih cepat pada m1.large. Kami tidak secara langsung membandingkan lokal vs EBS pada jenis instance lain, tetapi kami menemukan bahwa peningkatan ukuran instance memiliki lebih banyak efek pada kinerja toko lokal daripada pada kinerja EBS.
Ada juga pertanyaan biaya. Dengan menggeser I / O dari EBS ke disk lokal, Anda akan mengurangi biaya AWS Anda.
sumber
Jika Anda mencari kinerja basis data di Amazon, Anda mungkin menemukan artikel ini bermanfaat: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/
Getaran umum dari penelitian saya sendiri (telah membaca tentang ini selama beberapa minggu) adalah bahwa EBS adalah pilihan yang lebih cepat.
sumber
Amazon telah membuat klaim yang tidak jelas bahwa EBS umumnya akan mengungguli partisi awal "lokal" pada instance EC2. Saya tahu bahwa saya telah mengalami throughput yang lebih tinggi pada volume EBS dalam penggunaan saya sendiri, tetapi saya tidak repot-repot mengukur latensi.
Jika Anda ingin tahu tentang kinerja dalam penggunaan tertentu, taruhan terbaik Anda mungkin adalah membuat contoh uji. Saya tahu saya akan melakukannya.
sumber
Saya sudah menjalankan instance MySQL pada volume EBS dan senang dengan kinerjanya. Saya juga tidak memiliki data keras, tetapi itu bekerja dengan baik.
sumber