Я пишу функцию, которая будет вычислять максимальное количество одновременных прослушивателей потокового аудио, поддерживаемое определенной пропускной способностью сети с учетом битрейта потока.
listeners = (пропускная способность в Мбит / с * 1024) / битрейт в Кбит / с
Предполагая, что среда VPS и небольшой веб-трафик, сколько накладных расходов на полосу пропускания и / или инфляции я должен учитывать?
На самом деле это действительно сложно сделать, учитывая, что вы не можете знать или предполагать что-либо о каких-либо других сетевых уровнях, находящихся под вашим приложением уровня 7 (предположительно HTTP). Видеть Расчет накладных расходов протокола, RFC 6349 и «Какой% трафика приходится на накладные расходы сети поверх HTTP / S-запросов?» всего лишь небольшая часть этого айсберга.
Очень грубый, фольклорный ответ, которому меня всегда учили, заключался в том, что вы можете взять теоретический максимум скорости соединения и сбросить 20%, чтобы учесть такие вещи, как информация о сигнале, фрагментация пакетов, несовпадение MTU и т. Д. Вероятно, это консервативная оценка, но опять же, точно рассчитать ее очень сложно, что приводит меня к следующему предложению.
После того, как ваше приложение запущено, вы должны начать его тестировать, чтобы увидеть, какую полосу пропускания оно потребляет при одновременном использовании, а затем посмотреть, как эти цифры соотносятся как с теоретическими расчетами, так и с фольклорной мудростью. Ничто не сравнится с тестированием в реальном мире, когда вы пытаетесь определить вещи такого рода, поскольку вы или я не представляем, как вычислить такие вещи, как «среда VPS» или «легкий веб-трафик» с какой-либо приближающейся точностью.
Также имейте в виду, что ваш вопрос находится в опасной близости от вопросы планирования емкости / производительности которые обычно закрыты.