Penskalaan ElastiCache untuk Memcached - Amazon ElastiCache

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

Penskalaan ElastiCache untuk Memcached

Penskalaan ElastiCache untuk Memcached

ElastiCache Tanpa server secara otomatis mengakomodasi lalu lintas beban kerja Anda saat naik atau turun. Untuk setiap cache ElastiCache Tanpa Server, ElastiCache terus melacak pemanfaatan sumber daya seperti CPU, memori, dan jaringan. Ketika salah satu sumber daya ini dibatasi, ElastiCache Serverless menskalakan dengan menambahkan pecahan baru dan mendistribusikan ulang data ke pecahan baru, tanpa waktu henti apa pun ke aplikasi Anda. Anda dapat memantau sumber daya yang dikonsumsi oleh cache Anda CloudWatch dengan memantau BytesUsedForCache metrik untuk penyimpanan data cache dan ElastiCacheProcessingUnits (ECPU) untuk penggunaan komputasi.

Menetapkan batas penskalaan untuk mengelola biaya

Anda dapat memilih untuk mengonfigurasi penggunaan maksimum pada penyimpanan data cache dan ECPU/detik untuk cache Anda untuk mengontrol biaya cache. Melakukannya akan memastikan bahwa penggunaan cache Anda tidak pernah melebihi maksimum yang dikonfigurasi.

Jika Anda menetapkan skala maksimum, aplikasi Anda mungkin mengalami penurunan kinerja cache saat cache mencapai maksimum. Ketika Anda mengatur penyimpanan data cache maksimum dan penyimpanan data cache Anda mencapai maksimum, ElastiCache akan mulai mengusir data dalam cache Anda menggunakan logika LRU. Ketika Anda menetapkan maksimum ECPU/detik dan penggunaan komputasi beban kerja Anda melebihi nilai ini, ElastiCache akan mulai membatasi permintaan Memcached.

Jika Anda mengatur batas maksimum pada BytesUsedForCache atauElastiCacheProcessingUnits, kami sangat menyarankan untuk menyiapkan CloudWatch alarm pada nilai yang lebih rendah dari batas maksimum sehingga Anda diberi tahu saat cache Anda beroperasi mendekati batas ini. Sebaiknya atur alarm pada 75% dari batas maksimum yang Anda tetapkan. Lihat dokumentasi tentang cara mengatur CloudWatch alarm.

Pra-penskalaan dengan Tanpa Server ElastiCache

ElastiCache Pra-penskalaan tanpa server

Dengan pra-penskalaan, juga disebut pra-pemanasan, Anda dapat menetapkan batas minimum yang didukung untuk cache Anda. ElastiCache Anda dapat mengatur minimum ini untuk Unit ElastiCache Pemrosesan (ECPU) per detik atau penyimpanan data. Ini dapat berguna dalam persiapan untuk acara penskalaan yang diantisipasi. Misalnya, jika perusahaan game mengharapkan peningkatan 5x dalam login dalam menit pertama game baru mereka diluncurkan, mereka dapat menyiapkan cache mereka untuk lonjakan penggunaan yang signifikan ini.

Anda dapat melakukan pra-penskalaan menggunakan ElastiCache konsol, CLI, atau API. ElastiCache Tanpa server memperbarui ECPU/detik yang tersedia pada cache dalam waktu 60 menit, dan mengirimkan pemberitahuan acara ketika pembaruan batas minimum selesai.

Cara kerja pra-penskalaan

Ketika batas minimum untuk ECPU/detik atau penyimpanan data diperbarui melalui konsol, CLI, atau API, batas baru itu tersedia dalam 1 jam. ElastiCache Tanpa server mendukung 30K ECPU/detik pada cache kosong, dan hingga 90K ECPU/detik saat menggunakan fitur Baca dari Replika. ElastiCache dapat menggandakan ECPU/detik setiap 10-12 menit. Kecepatan penskalaan ini cukup untuk sebagian besar beban kerja. Jika Anda mengantisipasi bahwa peristiwa penskalaan yang akan datang mungkin melebihi tingkat ini, maka sebaiknya atur ECPU/detik minimum ke ECPU/detik puncak yang Anda harapkan setidaknya 60 menit sebelum peristiwa puncak. Jika tidak, aplikasi mungkin mengalami peningkatan latensi dan pembatasan permintaan.

Setelah pembaruan batas minimum selesai, ElastiCache Tanpa Server akan mulai mengukur Anda untuk ECPU minimum baru per detik atau penyimpanan minimum baru. Hal ini terjadi bahkan jika aplikasi Anda tidak mengeksekusi permintaan pada cache, atau jika penggunaan penyimpanan data Anda di bawah minimum. Saat Anda menurunkan batas minimum dari pengaturan saat ini, pembaruan segera dilakukan sehingga ElastiCache Tanpa Server akan segera mulai mengukur pada batas minimum yang baru.

catatan
  • Ketika Anda menetapkan batas penggunaan minimum, Anda akan dikenakan biaya untuk batas tersebut meskipun penggunaan aktual Anda lebih rendah dari batas penggunaan minimum. ECPU atau penggunaan penyimpanan data yang melebihi batas penggunaan minimum dikenakan tarif reguler. Misalnya, jika Anda menetapkan batas penggunaan minimum 100.000 ECPU/detik maka Anda akan dikenakan biaya setidaknya $1,224 per jam (menggunakan harga ECPU di us-east-1), bahkan jika penggunaan Anda lebih rendah dari minimum yang ditetapkan.

  • ElastiCache Tanpa server mendukung skala minimum yang diminta pada tingkat agregat pada cache. ElastiCache Serverless juga mendukung maksimum 30K ECPU/detik per slot (90K ECPU/detik saat menggunakan Read from Replica menggunakan koneksi READONLY). Sebagai praktik terbaik, aplikasi Anda harus memastikan bahwa distribusi kunci di seluruh slot Redis dan lalu lintas lintas kunci seragam mungkin.

Mengatur batas penskalaan menggunakan konsol dan AWS CLI

Menyetel batas penskalaan menggunakan Konsol AWS

  1. Masuk ke AWS Management Console dan buka ElastiCache konsol di https://console.aws.amazon.com/elasticache/.

  2. Pada panel navigasi, pilih mesin yang berjalan pada cache yang ingin diubah itu.

  3. Muncul daftar cache yang menjalankan mesin yang dipilih.

  4. Pilih cache untuk dimodifikasi dengan memilih tombol radio di sebelah kiri nama cache.

  5. Pilih Tindakan, dan kemudian pilih Ubah.

  6. Di bawah batas Penggunaan, tetapkan batas Memori atau Komputasi yang sesuai.

  7. Klik Pratinjau perubahan dan kemudian Simpan perubahan.

Menetapkan batas penskalaan menggunakan AWS CLI

Untuk mengubah batas penskalaan menggunakan CLI, gunakan modify-serverless-cache API.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Menghapus batas penskalaan menggunakan CLI

Untuk menghapus batas penskalaan menggunakan CLI, atur parameter batas Minimum dan Maksimum ke 0.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'