Масштабованість вимірюється через пропускну здатність на основі деякої змінної. Наприклад, кількість запитів на секунду у користувачів X. Найпростіший спосіб описати масштабованість:
Міра ефективності в міру збільшення навантаження.
Перше, що вам потрібно зрозуміти при розробці масштабованості - це те, що вимірювання є найбільш важливим для вашої програми? Існує кілька способів вимірювання ефективності, що є ключовим компонентом масштабованості:
- Одночасні запити в секунду
- Середній час відповіді на запит
- Кількість оброблених записів за секунду / хвилину
Існує більше вимірювань ефективності, які можна використовувати, але вони є загальними для веб-систем або систем пакетної обробки.
Наступний аспект масштабованості - це вимірювання того, що відбувається з вашою ефективністю при збільшенні навантаження. Загальні способи збільшення навантаження:
- Більше користувачів потрапляє на сервер (тобто більше веб-трафіку)
- Більше даних у базі даних (тобто запити займають більше часу або обробка займає більше часу)
- Збій жорсткого диска в RAID (це впливає на ефективність / надійність зберігання)
- Насиченість мережі
Метою масштабованого додатка є або підтримувати, або підвищувати ефективність, коли ми маємо справу з проблемою навантаження. Якщо коротко, якщо час відповіді забирає занадто багато часу, чи можемо ми додати ще один сервер для рівномірного розподілу навантаження? Такий підхід зменшує обсяг роботи одного сервера і зберігає сервери, які працюють у цій "солодкій точці" для підвищення ефективності.
Ваша програма повинна бути розроблена спеціально для масштабу. Це означає, що вам потрібно бути обережними з даними сеансу, маршрутизацією запитів на потрібний сервер, зменшення вузьких місць, які обмежують можливість програми масштабувати масштаб.