Bagikan melalui


Mengurangi waktu cold-start di Azure Container Apps

Saat aplikasi kontainer Anda menskalakan ke nol selama periode tidak aktif, permintaan masuk berikutnya memicu cold start. Cold-start adalah proses yang memakan waktu untuk menarik gambar kontainer Anda, menyediakan sumber daya, dan memulai kode aplikasi Anda.

Penundaan ini berdampak pada pengalaman pengguna, terutama untuk aplikasi yang membutuhkan waktu respons yang cepat. Cold-start seringkali paling terlihat dalam skenario yang melibatkan gambar kontainer besar, inisialisasi aplikasi yang kompleks, atau beban kerja pembelajaran mesin/kecerdasan buatan.

Panduan ini membantu Anda mengurangi waktu proses awal pada Azure Container Apps.

Mengoptimalkan ukuran gambar kontainer

Pembelajaran mesin dan beban kerja yang sangat bergantung pada AI sering dikaitkan dengan gambar kontainer yang besar. Jika memungkinkan, kurangi ukuran gambar ini sebanyak mungkin dan hilangkan penggunaan pustaka yang tidak perlu.

Seringkali gambar mengalami perpindahan dari pelatihan ke penggunaan inferensi hanya dengan penyesuaian minimal. Pastikan untuk mengaudit kontainer Anda agar menghapus alat pengembangan dan dependensi yang hanya diperlukan untuk pengembangan model ketika Anda menyiapkannya untuk penggunaan inferensi.

Hindari repositori gambar yang terpencil

Gunakan registri kontainer yang dekat dengan lingkungan Container Apps Anda. Biasanya ini berarti Anda ingin menggunakan Azure Container Registry yang disebarkan di wilayah yang sama dengan lingkungan Anda, atau registri premium yang menampilkan distribusi global.

Mengelola unduhan besar

Gunakan pemasangan penyimpanan untuk menyimpan data penting di dekat aplikasi kontainer Anda, terutama ketika ukuran file besar. Misalnya, jika aplikasi Anda memerlukan model bahasa besar, Anda dapat mengunduh model terlebih dahulu ke akun penyimpanan Anda. Dengan membaca file besar dari akun penyimpanan, Anda menghindari latensi mentransfer file melalui internet.

Jika Anda membuat pemasangan penyimpanan untuk beban kerja AI, pastikan Anda menggunakan opsi pemasangan yang paling tepat untuk kebutuhan Anda.

Menerapkan pemeriksaan kesehatan keaktifan kustom atau mulai mendengarkan lebih awal

Azure Container Apps secara otomatis menyiapkan pemeriksaan keaktifan saat ingress diaktifkan. Gambar dan aplikasi yang membutuhkan waktu lama untuk memulai setelah diluncurkan dapat menyebabkan masalah pada kontainer. Container Apps dapat mematikan aplikasi awal karena gagal dalam pemeriksaan keaktifan.

Untuk mengatasinya, hentikan Container Apps agar tidak membunuh gambar secara prematur, terapkan pemeriksaan keaktifan kustom untuk memungkinkan startup yang lebih lama. Atau, Anda dapat mendengarkan port target khusus untuk koneksi sederhana sebelumnya dalam siklus startup untuk menginisialisasi aplikasi Anda setelah port terbuka.

Penyesuaian pada sisi klien

Waktu start dingin dapat bervariasi tergantung pada aplikasi Anda. Untuk mengurangi persepsi waktu ini sebanyak mungkin, sesuaikan klien Anda untuk mengakomodasi penundaan.

Memberi sinyal kepada pengguna bahwa permintaan tertentu dapat memakan waktu lebih lama dan menerapkan percobaan ulang sangat penting. Anda juga dapat memperkuat kode Anda untuk menghindari batas waktu tak terduga yang melebihi kemampuan penanganan aplikasi Anda.

Instrumentasi sisi aplikasi

Untuk memecahkan masalah performa, terapkan metrik performa sisi aplikasi dan pengelogan untuk setiap tahap dalam siklus hidup aplikasi Anda.

Secara proaktif membangunkan aplikasi Anda

Jika rekomendasi di atas tidak memberikan performa yang diinginkan, bangunkan aplikasi Anda sebelum penggunaan aktual. Misalnya, pertimbangkan untuk menyiapkan pekerjaan pada pukul 09.00 untuk membangunkan aplikasi sebelum karyawan memulai hari kerja mereka. Pendekatan ini dapat menghilangkan cold-start yang panjang sambil tetap memungkinkan penghematan biaya skala-ke-nol setiap kali aplikasi tidak digunakan.