Faz solicitações de cache do CURL?

16

Essa é uma pergunta bem longa, então fique de olho em mim.

Eu queria enfatizar o meu Akamai Server logado de uma instância do AWS. Então, comecei a executar um benchmark ab. No entanto, eles pareciam ridiculamente rápidos para baixar ~ 3 arquivos de vídeo MB. Naturalmente eu queria ver o que está acontecendo. Isto é o que eu fiz para obter o arquivo

curl -v -o /dev/null

O acima foi concluído em ~ 5 segundos.

Em seguida, eu corri o mesmo comando novamente. Desta vez, completou em ~ 200ms! Naturalmente, minha intuição diz que o arquivo está sendo armazenado em algum lugar.

Minhas perguntas:

  1. Os arquivos de cache são curvados? Em caso afirmativo, existe uma maneira de ignorá-lo?
  2. Se o curl não, o ubuntu abstrai um cache abaixo do curl? Em caso afirmativo, existe uma maneira de ignorá-lo?
  3. Considerando os requisitos, você acha que poderia haver uma ferramenta de benchmarking além de ab que pudesse servir ao propósito?

Obrigado Akshay

    
por Akshay 10.06.2015 / 21:55

5 respostas

15

O cliente de curl não está armazenando arquivos em cache, mas a rede do servidor remoto pode estar bem. Tente adicionar uma variável de string de consulta arbitrária à URL para ver se você consegue reproduzi-la.

    
por 11.06.2015 / 12:19
6

Tardiamente, tente:

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

Isso dirá ao servidor da Web para não armazenar em cache. Não pára as camadas abaixo do cache, a menos que seja codificado para obedecer aos cabeçalhos.

    
por 20.10.2015 / 12:50
0

Eu usei este comando curl com um parâmetro de cache buster.

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

date +%s imprime os segundos desde a época, se você chamar a URL mais de uma vez por segundo, use date +%s.%N para adicionar em nanossegundos.

    
por 26.05.2018 / 03:53
0

Você pode adicionar uma seqüência de consulta aleatória usando a variável de ambiente $RANDOM :

curl --location --silent "https://git.io/lsf-e2e?$RANDOM"

Isso funcionou para mim nos arquivos raw do github.

    
por 24.11.2018 / 10:51
-2

Talvez seu dns esteja armazenando em cache a resolução do nome e essa é a razão da diferença no tempo de resposta.

É apenas uma teoria.

    
por 06.10.2015 / 01:34