Bagikan melalui


Penskalakan otomatis di Azure App Service

Catatan

Penskalaan otomatis tersedia untuk semua jenis aplikasi: Windows dan Linux (sebarkan sebagai kode dan kontainer). Penskalaan otomatis tidak didukung untuk lalu lintas slot penyebaran.

Penskalaan otomatis adalah opsi peluasan skala baru yang secara otomatis menangani keputusan penskalaan untuk aplikasi web dan Paket App Service Anda. Ini berbeda dari skala otomatis Azure yang sudah ada sebelumnya, yang memungkinkan Anda menentukan aturan penskalakan berdasarkan jadwal dan sumber daya. Dengan penskalakan otomatis, Anda dapat menyesuaikan pengaturan penskalakan untuk meningkatkan performa aplikasi dan menghindari masalah cold start. Platform ini menginisiasi instans untuk bertindak sebagai buffer saat memperluas skala, memastikan transisi performa yang lancar. Anda dikenai biaya per detik untuk setiap instans, termasuk instans yang sudah diisi sebelumnya.

Perbandingan peluasan skala dan skala dalam opsi yang tersedia di App Service:

  Manual Skala Otomatis Penskalakan otomatis
Tingkat harga yang tersedia Dasar dan Ke Atas Standar dan Naik Tingkat harga Premium V2 (P1V2, P2V2, P3V2) dan Premium V3 (P0V3, P1V3, P2V3, P3V3, P1MV3, P2MV3, P3MV3, P4MV3, P5MV3)
Penskalakan berbasis aturan Tidak Ya Tidak, platform mengelola peluasan skala dan masuk berdasarkan lalu lintas HTTP.
Penskalakan berbasis jadwal Tidak Ya Tidak
Instans yang selalu siap Tidak, aplikasi web Anda berjalan pada jumlah instans yang diskalakan secara manual. Tidak, aplikasi web Anda berjalan pada instans lain yang tersedia selama operasi peluasan skala, berdasarkan ambang yang ditentukan untuk aturan skala otomatis. Ya (minimum 1)
Instans yang sudah ada sebelumnya Tidak Tidak Ya (default 1)
Maksimum per aplikasi Tidak No Ya

Cara kerja penskalakan otomatis

Anda mengaktifkan penskalaan otomatis untuk Paket App Service dan mengonfigurasi berbagai instans untuk setiap aplikasi web. Saat aplikasi web Anda mulai menerima lalu lintas HTTP, App Service memantau beban dan menambahkan instans. Sumber daya dapat dibagikan saat beberapa aplikasi web dalam Paket App Service diperlukan untuk menskalakan secara bersamaan.

Berikut adalah beberapa skenario di mana Anda harus meluaskan skala secara otomatis:

  • Anda tidak ingin menyiapkan aturan skala otomatis berdasarkan metrik sumber daya.
  • Anda ingin aplikasi web Anda dalam Paket App Service yang sama diskalakan secara berbeda dan independen satu sama lain.
  • Aplikasi web Anda terhubung ke database atau sistem warisan, yang mungkin tidak menskalakan secepat aplikasi web. Penskalaan secara otomatis memungkinkan Anda mengatur jumlah maksimum instans yang dapat diskalakan oleh Paket App Service Anda. Pengaturan ini membantu aplikasi web tidak membuat backend kewalahan.

Aktifkan penskalakan otomatis

Ledakan maksimum adalah jumlah instans tertinggi yang dapat ditingkatkan oleh Paket App Service Anda berdasarkan permintaan HTTP masuk. Untuk paket Premium v2 & v3, Anda dapat mengatur ledakan maksimum hingga 30 instans. Ledakan maksimum harus sama dengan atau lebih besar dari jumlah pekerja yang ditentukan untuk Paket App Service.

Untuk mengaktifkan penskalakan otomatis, navigasikan ke menu kiri aplikasi web dan pilih peluasan skala (Paket App Service). Pilih Otomatis, perbarui nilai Burst maksimum, dan pilih tombol Simpan .

Penskalakan otomatis dalam portal Azure

Mengatur jumlah minimum instans aplikasi web

Instans yang selalu siap adalah pengaturan tingkat aplikasi untuk menentukan jumlah minimum instans. Jika beban melebihi apa yang dapat ditangani instans yang selalu siap, instans tambahan ditambahkan (hingga burst maksimum yang ditentukan untuk Paket App Service).

Untuk mengatur jumlah minimum instans aplikasi web, navigasikan ke menu kiri aplikasi web dan pilih peluasan skala (Paket App Service). Perbarui nilai Instans yang selalu siap, dan pilih tombol Simpan.

Cuplikan layar instans yang selalu siap

Mengatur jumlah maksimum instans aplikasi web

Batas skala maksimum menetapkan jumlah maksimum instans yang dapat diskalakan oleh aplikasi web. Batas skala maksimum membantu ketika komponen hilir seperti database memiliki throughput terbatas. Maksimum per aplikasi dapat antara 1 dan ledakan maksimum.

Untuk mengatur jumlah maksimum instans aplikasi web, navigasikan ke menu kiri aplikasi web dan pilih peluasan skala (Paket App Service). Pilih Terlaksakan batas peluasan skala, perbarui batas Skala maksimum, dan pilih tombol Simpan .

Cuplikan layar batas skala maksimum

Memperbarui instans yang sudah ada sebelumnya

Pengaturan instans yang sudah ada sebelumnya menyediakan instans yang dihangatkan sebagai buffer selama peristiwa skala dan aktivasi HTTP. Instans prewarmed terus buffer hingga batas peluasan skala maksimum tercapai. Jumlah instans bawaan default adalah 1 dan, untuk sebagian besar skenario, nilai ini harus tetap sebagai 1.

Anda tidak dapat mengubah pengaturan instans yang sudah ada sebelumnya di portal, Anda harus menggunakan Azure CLI.

Menonaktifkan penskalakan otomatis

Untuk menonaktifkan penskalakan otomatis, navigasikan ke menu kiri aplikasi web dan pilih peluasan skala (Paket App Service). Pilih Manual, dan pilih tombol Simpan .

Cuplikan layar penskalaan manual

Apakah penskalakan otomatis mendukung aplikasi Azure Function?

Perhatian

Penskalakan Otomatis dinonaktifkan saat aplikasi web App Service dan aplikasi Azure Function berada dalam Paket App Service yang sama.

Tidak, Anda hanya dapat memiliki aplikasi web Azure App Service di Paket App Service tempat Anda ingin mengaktifkan penskalakan otomatis. Untuk Functions, disarankan untuk menggunakan paket Azure Functions Premium sebagai gantinya.

Bagaimana cara kerja penskalakan otomatis di belakang layar?

Aplikasi yang diatur ke skala otomatis terus dipantau, dengan penilaian kesehatan pekerja terjadi setidaknya sekali setiap beberapa detik. Jika sistem mendeteksi peningkatan beban pada aplikasi, pemeriksaan kesehatan menjadi lebih sering. Jika terjadi memburuknya kesehatan pekerja dan permintaan yang melambat, instans tambahan diminta. Kecepatan saat instans ditambahkan bervariasi berdasarkan pola beban dan waktu mulai aplikasi individual. Aplikasi dengan waktu mulai singkat dan semburan beban terputus-terputus mungkin melihat satu komputer virtual ditambahkan setiap beberapa detik hingga satu menit.

Setelah beban mereda, platform memulai tinjauan untuk potensi penskalaan masuk. Proses ini biasanya dimulai sekitar 5-10 menit setelah beban berhenti meningkat. Selama penskalaan, instans dihapus pada tingkat maksimum satu setiap beberapa detik hingga satu menit.

Selain itu, jika beberapa aplikasi web disebarkan dalam paket layanan aplikasi yang sama, platform berusaha untuk mengalokasikan sumber daya di seluruh instans yang tersedia berdasarkan beban setiap aplikasi web individu.

Bagaimana cara mendapatkan tagihan untuk instans yang sudah ada sebelumnya?

Untuk memahami bagaimana Anda ditagih untuk instans yang sudah ditagih sebelumnya, pertimbangkan skenario ini: Katakanlah aplikasi web Anda memiliki lima instans yang selalu siap, bersama dengan satu instans yang telah disiapkan sebelumnya yang ditetapkan sebagai default.

Saat aplikasi web Anda diam dan tidak menerima permintaan HTTP apa pun, aplikasi web tersebut berjalan dengan lima instans yang selalu siap. Selama waktu ini, Anda tidak ditagih untuk instans yang sudah ada sebelumnya karena instans yang selalu siap tidak digunakan, dan dengan demikian tidak ada instans yang dialokasikan sebelumnya.

Namun, segera setelah aplikasi web Anda mulai menerima permintaan HTTP dan lima instans yang selalu siap menjadi aktif, instans yang telah dialokasikan sebelumnya dialokasikan, dan penagihan untuknya dimulai.

Jika tingkat permintaan HTTP terus meningkat dan App Service memutuskan untuk menskalakan di luar lima instans awal, itu akan mulai menggunakan instans yang sudah ada sebelumnya. Ini berarti bahwa ketika ada enam instans aktif, instans ketujuh segera disediakan untuk mengisi buffer yang sudah ada sebelumnya.

Proses penskalaan dan prewarming ini berlanjut hingga jumlah instans maksimum untuk aplikasi tercapai. Penting untuk dicatat bahwa tidak ada instans yang diinisiasi sebelumnya atau diaktifkan di luar jumlah instans maksimum.

Mengapa AppServiceHTTPLogs memiliki entri log yang mirip dengan "/admin/host/ping" dengan status 404?

Penskalakan /admin/host/ping Otomatis App Service secara berkala memeriksa titik akhir bersama dengan mekanisme pemeriksaan kesehatan lainnya yang melekat pada platform. Pemeriksaan ini secara khusus diimplementasikan fitur. Terkadang, karena konfigurasi platform yang ada, kesalahan 404 dapat dikembalikan oleh ping ini. Namun, penting untuk dicatat bahwa kesalahan 404 ini tidak boleh memengaruhi ketersediaan atau performa penskalan aplikasi Anda.

Jika aplikasi web Anda mengembalikan status 5xx, ping titik akhir ini dapat mengakibatkan restart terputus-terputus, meskipun ini jarang terjadi. Saat ini kami menerapkan penyempurnaan untuk mengatasi mulai ulang terputus-putus ini. Hingga saat itu, pastikan bahwa aplikasi web Anda tidak mengembalikan status 5xx di titik akhir ini. Perlu diketahui bahwa titik akhir ping ini tidak dapat disesuaikan.

Bagaimana cara melacak jumlah instans yang diskalakan selama peristiwa Penskalaan Otomatis?

Metrik AutomaticScalingInstanceCount akan melaporkan jumlah komputer virtual tempat aplikasi berjalan termasuk instans yang sudah ada sebelumnya jika disebarkan. Metrik ini juga dapat digunakan untuk melacak jumlah maksimum instans yang diskalakan aplikasi web Anda selama peristiwa Penskalaan Otomatis. Metrik ini hanya tersedia untuk aplikasi yang mengaktifkan Penskalaan Otomatis.

Bagaimana Afinitas ARR memengaruhi Penskalaan Otomatis?

Azure App Service menggunakan cookie Perutean Permintaan Aplikasi yang dikenal sebagai Afinitas ARR. Cookie Afinitas ARR membatasi penskalaan karena mereka mengirim permintaan hanya ke server yang terkait dengan cookie, bukan instans yang tersedia. Untuk aplikasi yang menyimpan status, lebih baik untuk meningkatkan skala (meningkatkan sumber daya pada satu instans). Untuk aplikasi stateless, penskalaan keluar (menambahkan lebih banyak instans) menawarkan lebih banyak fleksibilitas dan skalabilitas. Cookie Afinitas ARR diaktifkan secara default di App Service. Bergantung pada kebutuhan aplikasi Anda, Anda dapat memilih untuk menonaktifkan cookie afinitas ARR saat menggunakan Penskalaan otomatis.

Untuk menonaktifkan cookie Afinitas ARR: pilih aplikasi App Service Anda, dan di bawah Pengaturan, pilih Konfigurasi. Selanjutnya pilih tab Pengaturan umum. Di bawah Afinitas ARR, pilih Nonaktif lalu pilih tombol simpan .

Sumber daya lainnya