Я использую библиотеку CURL для загрузки файла. Мы используем https: // с TLS 1.2.
Используется версия Curl 7.48.0. Мы наблюдаем странную проблему. Скручиваемая загрузка работает очень медленно между сервером и клиентом при размере файла 224 МБ. Если мы используем инструмент командной строки curl, это очень быстро, но это не так, если мы вызываем curl_easy_perform со стороны приложения.
Кроме того, мы использовали параметр --libcurl, чтобы проверить разницу между командной строкой и нашим кодом, и ее нет. Мы используем те же параметры, что и в инструменте командной строки, но загрузка происходит очень медленно, когда выполняется прямой вызов curl_easy_perform.
Если мы выполняем загрузку с какого-либо другого сервера и того же клиента, он работает нормально. Однако, только с определенным сервером, мы сталкиваемся с проблемой времени загрузки.
Отладка далее, мы обнаружили, что вывод netstat показывает, что очередь приема для сокета tcp очень высока. Однако неясно, почему это может быть проблемой только через нашу программу, а не через командную строку, даже если установлены те же параметры.