
Есть ли способ ограничить пропускную способность загрузки (или скорость загрузки) моего веб-сайта в Windows Server 2008?
Мне не нужны никакие ограничения на просмотр моего веб-сайта и загрузку страниц, только на загрузку.
Иногда я получаю ошибку 503 из-за количества загрузок и пользователей, чего я хотел бы избежать.
решение1
Один из способов сделать это — использовать прокси-сервер между вашими пользователями и веб-сервером. Прокси-сервер, такой как squid, используется delay_pools
для ограничения скорости загрузки с вашего сервера.
Лимит загрузки может быть применен к определенным IP-адресам и определенным URL-адресам. Соответствующие списки контроля доступа должны быть определены для применения лимита только к URL-адресам загрузки. Лучший сценарий — иметь все большие загрузки в определенном наборе каталогов.
решение2
Вы можете ограничить пропускную способность FTP и количество подключений в IIS, но это не решит вашу проблему. В IIS6 и IIS7 это делается по-разному, но если вы введете в поиск «регулирование пропускной способности» или «регулирование скорости передачи данных», вы найдете массу информации.
Если вы не используете IIS, то решение будет зависеть от веб-сервера. Для более точного регулирования вам понадобится внешний ящик между вашим сервером и интернетом. Многие брандмауэры справляются с этим достаточно хорошо... чем больше вы платите, тем лучше они становятся.
Если у вас пропускная способность X, то вам нужно принять решение о том, как вы собираетесь ограничить пропускную способность загрузки, чтобы оставить достаточно для ваших http-пользователей, но не обрезать ftp-соединения. Если у вас, скажем, 100 Мб пропускной способности и 1000 человек одновременно загружают файлы по ftp, то ограничение загрузок до 50 Мб/с и разрешение неограниченных загрузок будет означать, что люди будут скачивать примерно со скоростью (50*1000*1000)/1000 = 50 кб/с. (Примерно 5-6 КБ/с). Вам нужно провести приблизительные расчеты, чтобы выяснить, как вы можете ограничить что-то.