Skalabilitas diukur dalam hal throughput berdasarkan pada beberapa variabel. Misalnya, jumlah permintaan / detik dengan pengguna X. Cara paling sederhana untuk menggambarkan skalabilitas adalah:
Ukuran efisiensi seiring meningkatnya beban.
Hal pertama yang perlu Anda pahami dalam mendesain skalabilitas adalah pengukuran apa yang paling penting untuk aplikasi Anda? Ada beberapa cara untuk mengukur efisiensi yang merupakan komponen utama skalabilitas:
- Permintaan serentak per detik
- Waktu respons rata-rata per permintaan
- Jumlah catatan yang diproses per detik / menit
Ada lebih banyak pengukuran efisiensi yang dapat digunakan, tetapi ini umum untuk sistem berbasis web atau sistem pemrosesan batch.
Aspek skalabilitas berikutnya adalah mengukur apa yang terjadi pada efisiensi Anda saat beban meningkat. Cara umum untuk menambah beban adalah:
- Lebih banyak pengguna memukul server (yaitu lebih banyak lalu lintas web)
- Lebih banyak data dalam database (mis. Permintaan lebih lama, atau pemrosesan lebih lama)
- Kegagalan hard drive dalam RAID (kinerja / keandalan penyimpanan terpengaruh)
- Saturasi jaringan
Tujuan untuk aplikasi yang dapat diskalakan adalah untuk mempertahankan atau meningkatkan efisiensi karena kami menangani masalah beban. Singkatnya, jika waktu respons terlalu lama, dapatkah kita menambahkan server lain untuk mendistribusikan beban secara merata? Pendekatan ini mengurangi jumlah pekerjaan yang harus dilakukan oleh satu server, dan membuat server beroperasi di "sweet spot" untuk efisiensi.
Aplikasi Anda harus dirancang khusus untuk mengukur. Itu berarti Anda harus berhati-hati dengan data sesi, merutekan permintaan ke server yang tepat, mengurangi kemacetan yang membatasi kemampuan aplikasi untuk berkembang.