Почему прокси с малой задержкой всё равно может медленно скачивать файлы
Задержка соединения и скорость скачивания измеряют разные части запроса через прокси. Выбирайте тест под задачу.
Прокси, быстро возвращающий маленькую страницу, может медленно скачивать файл. Первый запрос показывает главным образом задержку установления соединения и ответа. Более крупная передача зависит ещё и от того, сколько данных маршрут способен передавать непрерывно.
Какой показатель отвечает на ваш вопрос?
| Задача | Полезное наблюдение |
|---|---|
| Открыть маленькую страницу или отправить короткий запрос API | Время до получения ответа, включая установление соединения. |
| Скачать файл | Общее число переданных байтов и средняя скорость передачи на подходящем тестовом файле. |
| Сохранять отзывчивость приложения при множестве запросов | Типичное время ответа, сбои и повторное использование соединений при ожидаемой нагрузке. |
ICMP ping — другой тест. Сервер может отвечать на ping, когда его служба прокси недоступна, или блокировать ping, пока прокси работает. Время пути до адреса прокси и обратно также не учитывает соединение прокси с вашим целевым сервером.
Измерьте реальную передачу
Используйте файл на подконтрольном вам сервере или файл, предназначенный для таких тестов. Этот пример отбрасывает тело ответа и выводит объём передачи, среднее число байтов в секунду и общее время:
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 30 --silent --show-error --output /dev/null --write-out 'status=%{http_code} bytes=%{size_download} average_Bps=%{speed_download} seconds=%{time_total}\n' https://example.com/test-file.bin
Замените и прокси из примера, и URL файла. Страница 404 или ответ с отказом в доступе не подходит для оценки скачивания, даже если приходит быстро. До сравнения скоростей проверьте статус, ожидаемый размер файла и содержимое.
Поле средней скорости использует байты в секунду. Сетевой тариф, рекламируемый в битах в секунду, использует другую единицу. Для приблизительного перевода байтов в биты умножьте на восемь; во всём сравнении придерживайтесь одной единицы.
Сравнивайте в равных условиях
Используйте одинаковые целевой сервер, файл, клиентскую сеть и настройки тайм-аутов. Сравните несколько умеренных проб вместо выбора самой быстрой попытки. Для зависающих передач осознанно выбирайте ограничения установления соединения, общего времени и низкой скорости. Оставляйте неудачные запросы в результатах: прокси, который иногда передаёт быстро, но часто даёт сбой, может не подходить для работы, которую нужно завершить.
Кэшированный файл и новое скачивание могут проходить разными путями внутри службы. Это относится и к запросу после установления соединения по сравнению с запросом, повторно использующим существующее соединение. Определите, какое поведение нужно приложению, и последовательно измеряйте его.
Выбирайте под нагрузку
Для маленького ответа API лишняя секунда до первого байта может быть важнее пиковой скорости передачи. Для большого скачивания быстрое рукопожатие с последующим очень медленным телом — плохой обмен. В обоих случаях тестируйте тот целевой сервер, которым будете пользоваться; одной оценки скорости, описывающей все маршруты через прокси, не существует.
Список прокси ProxyHub не предоставляет независимых измерений скорости передачи для каждого IP. Фильтр по протоколу или стране — не рейтинг скорости.