Это довольно длинный вопрос, так что потерпите меня.
Я хотел подчеркнуть, что мой сервер Akamai вошел в систему из экземпляра AWS. Итак, я начал тестировать ab. Однако они казались смехотворно быстрыми для загрузки видеофайлов размером ~ 3 МБ. Естественно, я хотел посмотреть, что происходит. Вот что я сделал, чтобы получить файл
завиток -v -o / dev / null
Вышеуказанное завершается за ~ 5 секунд.
Затем я снова выполнил ту же команду. На этот раз он завершился за ~ 200 мс! Естественно, интуиция подсказывает, что файл где-то кешируется.
Мои вопросы:
Спасибо, Акшай
Клиент curl не кэширует файлы, но сеть удаленного сервера вполне может быть. Попробуйте добавить в URL-адрес произвольную строковую переменную запроса, чтобы проверить, сможете ли вы ее воспроизвести.
С опозданием попробуем:
curl -v -H "Cache-Control: no-cache"
Это скажет веб-серверу не кэшировать. Не останавливает уровни ниже кеширования, если он не закодирован так, чтобы подчиняться заголовкам.
Вы можете использовать добавить случайный Строка запроса с помощью то $RANDOM
переменная окружения:
curl --location --silent "https://git.io/lsf-e2e?$RANDOM"
Это сработало для меня с необработанными файлами github.
Я использовал эту команду curl с параметром блокировки кеша.
curl http://example.com/static/changing_file?_=$(date +%s)
date +%s
печатает секунды с эпохи, если вы вызываете URL-адрес более одного раза за второе использование date +%s.%N
добавить в наносекундах.
Возможно, ваш DNS кэширует разрешение имени, и в этом причина разницы во времени ответа.
Это всего лишь теория.