Mengoptimalkan performa backend untuk aplikasi web berbasis konten

Untuk jenis penskalaan apa pun, pertimbangkan arsitektur aplikasi Anda dan pengoptimalan apa yang dapat dilakukan. Misalnya, konten statis harus ditayangkan dari jaringan penayangan konten yang dioptimalkan yang menawarkan manfaat dari segi harga dan performa. Pembuatan cache untuk backend penyimpanan data tambahan juga dapat meningkatkan performa dan meminimalkan persyaratan untuk penskalaan yang mahal.

Pengujian dan tolok ukur performa

Tolok ukur dan pengujian performa dapat mengidentifikasi potensi hambatan performa selama pengembangan, membantu melacak tren dari waktu ke waktu, dan mendukung pengambilan keputusan dengan membandingkan arsitektur, technology stack, penyedia cloud, atau opsi lainnya.

Pengujian beban menggunakan jenis beban, traffic, atau data yang terkontrol dan telah ditentukan sebelumnya untuk mengukur performa backend Anda terhadap target. Anda dapat melihat bagaimana berbagai tingkat pemuatan memengaruhi performa aplikasi.

Pengujian skalabilitas berfokus pada analisis kemampuan aplikasi Anda untuk meningkatkan dan menyebarkan skala. Pengujian skalabilitas menunjukkan cara aplikasi merespons peningkatan beban dan cara backend (termasuk penyimpanan data) beradaptasi.

Tentukan target yang jelas sebelum memulai benchmark aplikasi, termasuk performa dan kecepatan (misalnya latensi, throughput, kecepatan), pemanfaatan resource (pemakaian CPU, penggunaan memori, traffic jaringan antarkomponen backend), dan biaya. Pertimbangkan penundaan dalam penskalaan; misalnya, jika aplikasi perlu melakukan penskalaan di luar kumpulan resource "cadangan" yang dialokasikan saat terjadi burst atau lonjakan traffic.

Banyak alat yang tersedia untuk benchmark dan pengujian performa, seperti Apache JMeter dan Locust. Saat memilih alat pengujian, pertimbangkan jenis pengujian yang tersedia, termasuk apakah Anda memerlukan dukungan untuk pembuatan skrip, integrasi IDE untuk proses debug, plugin tambahan, atau dukungan untuk jenis traffic dan skala yang akan diuji.

Jika menggunakan penyedia cloud, tentukan apakah ada persyaratan tambahan atau praktik terbaik untuk pengujian beban guna menghindari potensi batasan. Misalnya, pertimbangkan praktik terbaik untuk Cloud Run.

Pertimbangan biaya dan performa

Meskipun peningkatan skala sangat penting untuk meningkatkan performa, penurunan skala juga harus menjadi pertimbangan untuk meminimalkan biaya. Pertimbangkan biaya dasar pengukuran aplikasi backend Anda tanpa permintaan dan biaya yang diperlukan dalam meningkatkan skala aplikasi.

Anda mungkin memiliki biaya tetap untuk arsitektur lokal atau berbasis server, terlepas dari pemakaian. Beberapa lingkungan cloud memungkinkan Anda "melakukan penskalaan hingga nol" untuk menghindari biaya saat tidak ada permintaan yang dibuat. Penyedia cloud menawarkan kalkulator agar Anda dapat mempelajari berbagai konfigurasi dan strategi harga, seperti pra-komitmen untuk resource.