Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Managed Redis memiliki penawaran SKU dan tingkat yang berbeda yang memberikan fleksibilitas dalam pilihan ukuran dan performa cache. Anda dapat menskalakan ke ukuran memori yang lebih besar atau mengubah ke tingkat dengan performa komputasi yang lebih besar. Anda juga dapat menurunkan skala ke tingkat yang lebih kecil atau lebih tepat. Artikel ini memperlihatkan cara menskalakan cache menggunakan portal Azure, dan alat, seperti Azure PowerShell dan Azure CLI.
Nota
Karena setiap tingkatan Azure Managed Redis memiliki fitur yang hampir sama, penskalaan biasanya digunakan hanya untuk mengubah karakteristik memori dan performa. Penskalaan cache Azure Managed Redis yang direplikasi secara geografis tetap berada di Pratinjau Umum.
Jenis penskalaan
Azure Managed Redis mendukung penskalakan dalam dua dimensi:
Memori Peningkatan memori meningkatkan ukuran instans Redis, dengan memungkinkan Anda menyimpan lebih banyak data. Saat mengurangi memori, Anda perlu memastikan bahwa penggunaan memori Anda saat ini kurang dari ukuran memori baru yang ingin Anda gunakan.
vCPU Azure Managed Redis menawarkan tiga tingkat (Memori Dioptimalkan, Seimbang, dan Komputasi Dioptimalkan) yang memiliki peningkatan jumlah vCPU untuk setiap tingkat memori. Penskalaan ke tingkat dengan lebih banyak vCPU meningkatkan performa instans Anda tanpa mengharuskan Anda meningkatkan memori. Tidak seperti tingkat Dasar, Standar, dan Premium Azure Cache for Redis yang hanya menggunakan satu vCPU, Azure Managed Redis menggunakan tumpukan Redis Enterprise. Tumpukan Redis Enterprise dapat menggunakan beberapa vCPU, yang berarti bahwa jumlah vCPU yang digunakan oleh instans Redis Anda berkorelasi langsung dengan performa throughput dan latensi.
Tingkat performa
Ada empat tingkat Azure Managed Redis yang tersedia, masing-masing dengan karakteristik performa dan tingkat harga yang berbeda.
Penting
Semua lapisan dalam memori yang menggunakan penyimpanan lebih dari 235 GB berada dalam Pratinjau Umum, termasuk Memory Optimized M350 dan yang lebih tinggi; Balanced B350 dan yang lebih tinggi; dan Compute Optimized X350 dan yang lebih tinggi. Semua tingkatan ini dan yang lebih tinggi lagi tersedia dalam Pratinjau Publik.
Semua tingkatan yang dioptimalkan untuk Flash berada dalam Pratinjau Umum.
Sekilas tingkatan dan SKU
Berikut adalah tiga tingkat penyimpanan yang menyimpan data dalam memori:
Memori Dioptimalkan Ideal untuk kasus penggunaan intensif memori yang memerlukan rasio memori-ke-vCPU tinggi (8:1) tetapi tidak memerlukan performa throughput tertinggi. Ini memberikan titik harga yang lebih rendah untuk skenario di mana daya atau throughput pemrosesan yang lebih sedikit diperlukan, menjadikannya pilihan yang sangat baik untuk lingkungan pengembangan dan pengujian.
Seimbang (Memori + Komputasi) Menawarkan rasio memori-ke-vCPU (4:1) yang seimbang, menjadikannya ideal untuk beban kerja standar. Tingkat ini menyediakan keseimbangan memori dan sumber daya komputasi yang sehat.
Dioptimalkan untuk Komputasi Dirancang untuk beban kerja yang memerlukan performa tinggi dan throughput maksimum, dengan rasio memori terhadap vCPU (2:1) yang rendah. Ini ideal untuk aplikasi yang menuntut performa tertinggi.
Berikut adalah tingkatan yang menyimpan data baik dalam memori maupun di disk:
Flash yang Dioptimalkan (pratinjau) Memungkinkan kluster Redis untuk secara otomatis memindahkan data yang jarang diakses dari memori (RAM) ke penyimpanan NVMe. Ini mengurangi performa, tetapi memungkinkan penskalaan cache yang hemat biaya dengan himpunan data besar.
Performa (Throughput dan Latensi)
Untuk tolok ukur performa dan informasi selengkapnya tentang cara mengukur performa setiap SKU dan tingkat, lihat Pengujian performa dengan Azure Managed Redis
Kapan harus menskalakan
Anda dapat menggunakan fitur pemantauan Azure Managed Redis untuk memantau kesehatan dan performa cache Anda. Gunakan informasi tersebut untuk menentukan kapan harus menskalakan cache.
Anda dapat memantau metrik berikut untuk menentukan apakah Anda perlu melakukan penskalaan.
-
CPU
- Penggunaan CPU yang tinggi berarti bahwa server Redis tidak dapat mengimbangi permintaan dari semua klien. Penskalaan ke lebih banyak vCPU membantu mendistribusikan permintaan di beberapa proses Redis. Penskalaan juga membantu mendistribusikan enkripsi/dekripsi TLS dan koneksi/pemutusan sambungan, mempercepat instans cache menggunakan TLS.
-
Penggunaan Memori
- Penggunaan memori tinggi menunjukkan bahwa ukuran data Anda terlalu besar untuk ukuran cache saat ini. Pertimbangkan untuk menskalakan ke ukuran cache dengan memori yang lebih besar. Saat mengurangi memori, Anda perlu memastikan bahwa penggunaan memori cache Anda saat ini lebih rendah dari ukuran memori baru yang ingin Anda gunakan. Anda tidak dapat memasukkan himpunan data besar ke dalam ukuran cache yang lebih kecil.
-
Koneksi klien
- Setiap ukuran cache memiliki batas jumlah koneksi klien yang dapat didukungnya. Jika koneksi klien Anda mendekati batas ukuran cache, pertimbangkan untuk menskalakan ke ukuran memori yang lebih besar atau tingkat performa yang lebih tinggi.
- Untuk informasi selengkapnya tentang batas koneksi berdasarkan ukuran cache, lihat Pengujian performa dengan Azure Managed Redis.
-
Bandwidth Jaringan
- Jika server Redis melebihi bandwidth yang tersedia, permintaan klien dapat mengalami waktu habis karena server tidak dapat mendorong data ke klien dengan cukup cepat. Untuk melihat berapa banyak bandwidth sisi server yang sedang digunakan, periksa metrik "Cache Baca" dan "Cache Tulis". Jika server Redis Anda melebihi bandwidth jaringan yang tersedia, pertimbangkan penskalaan ke tingkat performa yang lebih tinggi atau ukuran cache yang lebih besar.
- Pilihan kebijakan kluster memengaruhi bandwidth jaringan yang tersedia. Umumnya, kebijakan kluster OSS memiliki bandwidth jaringan yang lebih tinggi dibandingkan kebijakan kluster Enterprise. Untuk informasi selengkapnya, lihat Kebijakan kluster
- Untuk informasi selengkapnya tentang bandwidth yang tersedia di jaringan berdasarkan ukuran cache, lihat Pengujian performa dengan Azure Managed Redis.
Untuk informasi selengkapnya tentang menentukan tingkat harga cache yang akan digunakan, lihat Memilih tingkat yang tepat.
Untuk informasi selengkapnya tentang cara mengoptimalkan proses penskalaan, lihat praktik terbaik untuk panduan penskalaan.
Batasan penskalaan Azure Managed Redis
- Anda tidak dapat menskalakan dari tingkat Memori Dioptimalkan, Seimbang, atau Komputasi Dioptimalkan ke tingkat Flash Dioptimalkan, atau sebaliknya.
- Saat mengurangi memori untuk instans Redis Anda, penggunaan memori instans Redis Anda saat ini harus kurang dari ukuran memori baru yang dimaksudkan. Untuk informasi selengkapnya, lihat Apa yang terjadi pada data saya jika saya menskalakan ke ukuran memori yang lebih kecil?.
- Saat mengurangi memori atau vCPU untuk instans Redis, Anda hanya dapat menskalakan ke SKU, yang memiliki konfigurasi vCPU dan shard yang kompatibel dengan konfigurasi pada instans Anda saat ini.
- Dalam beberapa kasus saat menskalakan, alamat IP yang mendasar dari instans Redis dapat berubah. Catatan DNS untuk cache berubah dan transparan untuk sebagian besar aplikasi. Namun, jika Anda menggunakan alamat IP untuk mengonfigurasi koneksi ke instans Redis Anda, atau untuk mengonfigurasi NSG, atau firewall yang memungkinkan lalu lintas ke instans Redis, aplikasi Anda mungkin mengalami masalah saat menyambungkan setelah pembaruan catatan DNS.
- Penskalaan instans dalam grup geo-replikasi memiliki beberapa batasan lagi. Untuk informasi selengkapnya, lihat Apakah ada batas skala dengan geo-replikasi?.
- Saat menurunkan skala, Anda hanya dapat menskalakan ke tingkat tertentu. Untuk informasi selengkapnya, lihat Mengapa hanya saya dapat menurunkan skala ke subset SKU yang lebih kecil?.
Cara menskalakan
Di bagian ini, kami menjelaskan cara menskalakan cache Azure Managed Redis.
Menskalakan menggunakan portal Azure
Nota
Penskalaan cache Azure Managed Redis yang direplikasi secara geografis tetap berada di Pratinjau Umum.
Untuk menskalakan cache Anda, telusuri ke cache di portal Azure dan pilih Skalakan dari menu Sumber Daya.
Untuk menskalakan vCPU Anda, pilih jenis Cache yang berbeda lalu pilih Simpan.
Penting
Jika Anda memilih SKU yang tidak dapat diskalakan, opsi Simpan dinonaktifkan. Tinjau bagian Batasan penskalaan Azure Managed Redis untuk detail tentang opsi penskalaan mana yang diizinkan.
Saat penskalaan selesai, status berubah dari Penskalaan ke Berjalan saat melihat bagian Gambaran Umum dari menu Sumber Daya.
Mengatur skala menggunakan PowerShell
Anda dapat menskalakan instans Azure Managed Redis Anda dengan PowerShell menggunakan cmdlet Update-AzRedisEnterpriseCache. Anda dapat mengubah properti Sku untuk memilih tingkat dan SKU yang diperlukan. Contoh berikut menunjukkan cara menskalakan cache bernama myCache ke instans Compute Optimized X20 (24 GB).
Update-AzRedisEnterpriseCache -ResourceGroupName <your-group> -Name <your-cache-name> -Sku <sku-name>
Atur skala menggunakan Azure CLI
Untuk menskalakan instans Azure Managed Redis Anda menggunakan Azure CLI, panggil perintah az redisenterprise update. Anda dapat mengubah properti sku untuk memilih tingkat dan SKU yang diperlukan. Contoh berikut menunjukkan cara menskalakan cache bernama myCache ke instans Compute Optimized X20 (24 GB).
az redisenterprise update --cluster-name <your-cache-name> --resource-group <your-resource-group> --sku <name-of-sku>
Tanya Jawab Umum terkait pengaturan skala
Daftar berikut berisi jawaban atas pertanyaan umum tentang penskalaan Azure Managed Redis.
- Dapatkah saya menskalakan di dalam atau di seluruh tingkat?
- Apa yang terjadi pada data saya jika saya menskalakan ke ukuran memori yang lebih kecil?
- Setelah mengatur skala, apakah saya harus mengubah nama cache atau tombol akses saya?
- Bagaimana cara kerja pengaturan skala?
- Apakah saya kehilangan data dari cache saya selama penskalaan?
- Apakah cache saya tersedia selama penskalakan?
- Apakah ada batasan penskalaan dengan geo-replikasi?
- Berapa lama waktu yang dibutuhkan untuk pengaturan skala?
- Bagaimana cara mengetahui kapan pengaturan skala selesai?
- Apakah Azure Managed Redis menggunakan pengklusteran?Berapa banyak pecahan yang digunakan setiap SKU Azure Managed Redis?
- Bagaimana kunci didistribusikan dalam kluster?
- Berapa ukuran cache terbesar yang bisa saya buat?
- Mengapa hanya saya dapat menurunkan skala ke subset SKU yang lebih kecil?
- Dapatkah Kebijakan Pengklusteran diubah setelah memilih OSS atau Kluster Perusahaan?
Dapatkah saya menskalakan di dalam atau di seluruh tingkat?
Anda selalu dapat menskalakan ke tingkat performa yang lebih tinggi pada ukuran memori yang sama atau ukuran memori yang lebih besar dalam tingkat performa yang sama. Untuk penskalaan ke tingkat performa yang lebih rendah atau ukuran memori yang lebih kecil, kami sarankan Anda menjalankan REST API "listskusforscaling" untuk mendapatkan daftar SKU yang dapat Anda skalakan.
az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>
Apa yang terjadi pada data saya jika saya menskalakan ke ukuran memori yang lebih kecil?
Anda dapat menskalakan ke ukuran memori yang lebih kecil hanya jika penggunaan memori saat ini kurang dari ukuran memori yang dimaksudkan. Jika penggunaan memori saat ini lebih tinggi dari ukuran yang dimaksudkan yang lebih kecil, permintaan penskalakan Anda gagal. Anda dapat mengurangi penggunaan memori saat ini dengan menghapus pasangan nilai kunci yang tidak diinginkan atau dengan menjalankan operasi flush.
az redisenterprise database flush --cluster-name <your-redis-instance> --resource-group <your-resource-group>
Setelah pengaturan skala, apakah saya harus mengubah nama cache atau tombol akses saya?
Tidak, nama cache dan kunci akses Anda tidak diubah selama operasi penskalakan.
Bagaimana cara kerja pengaturan skala?
- Saat Anda menskalakan instans Redis, salah satu node di kluster Redis dimatikan dan disediakan ulang ke ukuran baru. Kemudian data selesai dipindahkan, dan simpul lainnya melakukan failover serupa berikutnya, sebelum dilakukan provisi ulang. Pematian dan penyediaan ulang mirip dengan proses yang terjadi selama patching atau kegagalan salah satu simpul cache.
- Saat Anda menskalakan ke instans dengan lebih banyak vCPU, pecahan baru disediakan dan ditambahkan ke kluster server Redis. Data kemudian dipartisi ulang di semua shard.
Untuk informasi selengkapnya tentang cara Azure Managed Redis menangani sharding, lihat Konfigurasi sharding.
Apakah saya akan kehilangan data dari cache saya selama penskalaan?
- Jika mode ketersediaan tinggi diaktifkan, semua data harus dipertahankan selama operasi penskalaan.
- Jika Anda menskalakan ke tingkat memori yang lebih kecil, Anda perlu memastikan bahwa penggunaan memori saat ini lebih kecil dari ukuran memori baru yang dimaksudkan. Jika penggunaan memori saat ini lebih dari ukuran memori SKU yang dimaksudkan, Anda dapat menghapus data Anda menggunakan operasi Flush atau memilih nilai kunci untuk dihapus secara manual.
- Jika mode ketersediaan tinggi dinonaktifkan, semua data hilang dan cache tidak tersedia selama operasi penskalaan.
Apakah cache saya tersedia selama penskalakan?
- Instans Azure Managed Redis dengan mode ketersediaan tinggi diaktifkan tetap tersedia selama operasi penskalaan. Namun, blip koneksi dapat terjadi saat menskalakan cache ini. Blip koneksi ini biasanya berlangsung singkat, dan klien Redis umumnya dapat segera menyambungkan kembali koneksi mereka.
- Jika mode ketersediaan tinggi dinonaktifkan, instans Azure Managed Redis offline selama operasi penskalaan.
Apakah ada batasan penskalaan dengan geo-replikasi?
Penskalaan cache yang direplikasi secara geografis ada di Pratinjau Umum. Dengan geo-replikasi aktif yang dikonfigurasi, Anda tidak dapat mencampur dan mencocokkan ukuran cache dalam grup geo-replikasi. Akibatnya, penskalaan cache dalam grup replikasi geografis memerlukan beberapa langkah lagi. Untuk petunjuk, lihatMenskalakan instans dalam grup geo-replikasi.
Menurunkan skala ke ukuran memori yang lebih kecil atau jumlah pecahan yang lebih kecil tidak didukung untuk cache yang direplikasi secara geografis. Untuk informasi selengkapnya, lihat Berapa banyak pecahan yang digunakan setiap SKU Azure Managed Redis untuk mengetahui pecahan di kluster Anda.
Berapa lama waktu yang dibutuhkan untuk pengaturan skala?
Waktu penskalaan bergantung pada beberapa faktor. Berikut adalah beberapa faktor yang dapat memengaruhi waktu yang diperlukan untuk penskalaan.
- Jumlah data: Jumlah data yang lebih besar membutuhkan waktu lebih lama untuk direplikasi
- Permintaan tulis yang tinggi: Jumlah operasi tulis yang lebih tinggi berarti lebih banyak data direplikasi di seluruh simpul atau shard
- Penggunaan CPU tinggi: Penggunaan CPU yang lebih tinggi berarti server Redis sibuk dan siklus CPU terbatas tersedia untuk menyelesaikan redistribusi data
Umumnya, ketika Anda menskalakan instans tanpa data, perlu waktu sekitar 10 menit.
Bagaimana cara mengetahui kapan pengaturan skala selesai?
Di portal Microsoft Azure, Anda dapat melihat operasi pengaturan skala yang sedang berlangsung. Saat penskalaan selesai, status cache berubah menjadi Berjalan saat melihat Gambaran Umum pada menu Sumber Daya.
Apakah Azure Managed Redis menggunakan pengklusteran?
Tidak seperti Azure Cache for Redis, Azure Managed Redis menggunakan pengklusteran di semua tingkat dan SKU. Pengklusteran memungkinkan optimalisasi performa yang signifikan. Setiap SKU Azure Managed Redis dikonfigurasi untuk jumlah shard yang dioptimalkan untuk jumlah vCPU yang tersedia. Jumlah shard tidak dapat dikonfigurasi pengguna.
Berapa banyak shard yang digunakan setiap SKU Azure Managed Redis?
Karena Azure Managed Redis berjalan pada perangkat lunak Redis Enterprise, shard dapat digunakan dalam konfigurasi yang lebih padat dibandingkan di Redis komunitas. Untuk mempelajari jumlah shard tertentu yang digunakan di setiap SKU, lihat Konfigurasi sharding.
Bagaimana kunci didistribusikan dalam kluster?
Per dokumentasi Redis mengenai Model distribusi kunci: Ruang kunci dibagi menjadi 16.384 slot. Setiap kunci di-hash dan ditetapkan ke salah satu slot ini, yang didistribusikan di seluruh simpul kluster. Anda dapat mengonfigurasi bagian kunci mana yang di-hash untuk memastikan bahwa beberapa kunci terletak di shard yang sama menggunakan tag hash.
- Kunci dengan tag hash - jika ada bagian kunci yang dimasukkan dalam
{dan}, hanya bagian kunci tersebut yang di-hash untuk tujuan menentukan slot hash kunci. Misalnya, tiga kunci berikut terletak di shard yang sama:{key}1,{key}2, dan{key}3karena hanya bagiankeydari nama yang di-hash. Untuk daftar lengkap spesifikasi tag hash kunci, lihat Tag hash kunci. - Kunci tanpa tag hash - seluruh nama kunci digunakan untuk hashing yang menghasilkan distribusi yang merata secara statistik di seluruh pecahan cache.
Untuk performa dan throughput terbaik, sebaiknya distribusikan kunci secara merata. Jika Anda menggunakan kunci dengan tag hash, aplikasi bertanggung jawab untuk memastikan kunci didistribusikan secara merata.
Untuk informasi selengkapnya, lihat Model distribusi kunci, Sharding data Redis Cluster, dan Tag hash kunci.
Berapa ukuran cache terbesar yang bisa saya buat?
Ukuran cache terbesar yang dapat Anda miliki adalah 4,5 TB, yang disebut instans Flash Optimized A4500. Harga Azure Cache for Redis.
Mengapa hanya saya dapat menurunkan skala ke subset SKU yang lebih kecil?
Untuk mempertahankan kompatibilitas dengan jumlah shard dan vCPU, Anda diizinkan untuk menurunkan skala hanya ke SKU tertentu. Anda dapat melihat SKU mana yang dapat menurunkan skala instans Redis Anda dengan memeriksa opsi yang tersedia di bagian Skala portal Microsoft Azure. Anda juga dapat menjalankan perintah CLI berikut.
Anda dapat melihat SKU mana yang dapat menurunkan skala instans Redis Anda dengan memeriksa opsi yang tersedia di bagian Skala portal Microsoft Azure.
az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>
Dapatkah Kebijakan Pengklusteran diubah setelah memilih OSS atau Kluster Perusahaan?
Setelah Anda mengatur kebijakan pengklusteran ke OSSCluster atau EnterpriseCluster saat membuat cache, Anda tidak dapat mengubahnya. Untuk beralih ke kebijakan pengklusteran yang berbeda, Anda harus menghapus cache Redis dan membuatnya kembali dengan konfigurasi yang diinginkan. Hanya cache dengan kebijakan Noncluster yang dapat diperbarui ke konfigurasi berkluster setelah penyebaran.