Я пытаюсь понять, какую настройку сервера мне нужно будет поддерживать:
Даже если я получаю соединение со скоростью 100 Мбит / с с моим выделенным ящиком (обычно они дают 10 Мбит / с, но вы можете обновить его), по моим расчетам, это около 12 Кбит / с, что означает около 480 файлов по 25 КБ в секунду.
Это означает, что мне нужно около 3 серверов, каждый со скоростью 100 Мбит / с.
Может ли один сервер, на котором запущен HAProxy, перенаправлять запросы на другие серверы, или это означает, что мне нужно получить что-то еще, что может обрабатывать более 100 Мбит / с, чтобы передавать данные другим серверам?
Если моя математика неверна, я буду признателен за любые исправления, которые вы можете внести.
Во-первых, я предполагаю, что вы правильно определили размер своих серверов, поскольку вы спрашиваете только о пропускной способности.
Во-вторых, вы захотите спроектировать наихудший сценарий. это будет все 1000 запросов, отправляющих файл размером 50 КБ.
Во-вторых, давайте нормализуем все в битах в секунду, а не в байтах в секунду, поскольку именно в этом измеряется пропускная способность.
Это дает нам (50 * 8) * 1000 = 400000. В переводе в Мбит / с это будет 400. Теперь вам нужно добавить ~ 20% накладных расходов, которые добавляют TCP и Ethernet, и вы получите 480 Мбит / с в худшем случае.
Ваш экземпляр HAProxy должен быть гигабитным, чтобы обрабатывать весь этот трафик. И вам понадобится как минимум 4 сервера, работающие на скорости 100 Мбит / с.
Теперь предостережение: эти скорости - это ваши скорости подключения к Интернету. Вам нужно спросить своего провайдера, каковы эти межсерверные скорости. Надеюсь, если это хороший провайдер, он гигабитно соединяется между серверами, тогда вам просто нужно беспокоиться об использовании Интернета.