Прокси, быстро возвращающий маленькую страницу, может медленно скачивать файл. Первый запрос показывает главным образом задержку установления соединения и ответа. Более крупная передача зависит ещё и от того, сколько данных маршрут способен передавать непрерывно.

Какой показатель отвечает на ваш вопрос?

ЗадачаПолезное наблюдение
Открыть маленькую страницу или отправить короткий запрос 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. Фильтр по протоколу или стране — не рейтинг скорости.

Похожие статьи