Esta é uma pergunta bastante longa, então tenha paciência comigo.
Eu queria enfatizar o meu servidor Akamai conectado a partir de uma instância da AWS. Então, comecei a executar um benchmark. No entanto, eles pareciam ridiculamente rápidos para baixar ~ 3 MB de arquivos de vídeo. Naturalmente, eu queria ver o que está acontecendo. Foi o que fiz para obter o arquivo
curl -v -o / dev / null
O acima foi concluído em ~ 5 segundos.
Em seguida, executei o mesmo comando novamente. Desta vez, completou em ~ 200ms! Naturalmente, minha intuição diz que o arquivo está sendo armazenado em cache em algum lugar.
Minhas perguntas:
- Enrola arquivos de cache? Se sim, existe uma maneira de ignorá-lo?
- Se o curl não funciona, o ubuntu abstrai um cache abaixo do curl? Se sim, existe uma maneira de ignorá-lo?
- Dado os requisitos, você acha que poderia haver uma ferramenta de benchmarking à parte de ab que poderia servir ao objetivo?
Obrigado, Akshay
Depois, tente:
Isso informará o servidor da Web para não armazenar em cache. Não interrompe as camadas abaixo do cache, a menos que seja codificado para obedecer aos cabeçalhos.
fonte
Eu usei esse comando curl com um parâmetro de buster de cache.
curl http://example.com/static/changing_file?_=$(date +%s)
date +%s
imprime os segundos desde a época, se você chamar o URL mais de uma vez por segundodate +%s.%N
para adicionar nanossegundos.fonte
Você pode adicionar uma sequência de consulta aleatória usando a
$RANDOM
variável de ambiente:Isso funcionou para mim nos arquivos brutos do github.
fonte
Talvez o seu DNS esteja armazenando em cache a resolução do nome e esse seja o motivo da diferença no tempo de resposta.
É apenas uma teoria.
fonte