Вопрос: Выполняется ли запрос кэша CURL?


Это довольно длинный вопрос, так что несите меня.

Я хотел подчеркнуть, что мой сервер Akamai зарегистрирован в экземпляре AWS. Итак, я начал работать с бенчмарком. Тем не менее, они выглядели смехотворно быстро, чтобы загрузить ~ 3 МБ видеофайлов. Естественно, я хотел посмотреть, что происходит. Это то, что я сделал, чтобы получить файл

curl -v -o / dev / null

Вышеуказанное завершено через ~ 5 секунд.

Затем я снова запустил ту же команду. На этот раз он завершился в ~ 200 мс! Естественно, моя интуиция говорит, что файл где-то кэшируется.

Мои вопросы:

  1. Имеет ли файл curl cache? Если да, есть ли способ игнорировать его?
  2. Если curl не делает, то ubuntu абстрагирует кеш под скручиванием? Если да, есть ли способ игнорировать его?
  3. Учитывая требования, как вы думаете, может быть инструмент сравнения, помимо ab, который может служить цели?

Спасибо, Акшай


13
2018-06-10 19:55


Источник




Ответы:


Клиент curl не кэширует файлы, но сеть удаленного сервера вполне может быть. Попробуйте добавить произвольную строковую строку запроса в URL-адрес, чтобы увидеть, можете ли вы воспроизвести его.


14
2018-06-11 10:19



Спасибо за ваш ответ. Я не мог добавить произвольную строку запроса, поскольку сервер Akamai, который я использую, не принимает никаких параметров запроса! (заставляя ошибку, поскольку она полагается на дайджест соленой отметки времени и URL-адрес). Однако мне удалось создать несколько токенов для одного и того же пути (по существу несколько URL-адресов), и вы абсолютно правы. curl не кэшировал ни один файл - удаленный сервер был. Иди CDN! :) - Akshay


С опозданием попробуйте:

curl -v -H "Cache-Control: no-cache"

Это скажет веб-серверу не кэшировать. Не останавливает слои ниже кэширования, если он не закодирован, чтобы подчиняться заголовкам.


6
2017-10-20 10:50





Я использовал эту команду curl с параметром bus buser.

curl http://example.com/static/changing_file?_=$(date +%s)

date +%s печатает секунды с эпохи, если вы вызываете URL более одного раза в секунду date +%s.%N добавить в наносекундах.


0
2018-05-26 01:53





Возможно, ваш DNS-сервер кэширует разрешение имени, и это является причиной разницы во времени ответа.

Это всего лишь теория.


-2
2017-10-05 23:34