Có yêu cầu bộ đệm cache không?


19

Đây là một câu hỏi khá dài, vì vậy hãy chịu đựng với tôi.

Tôi muốn nhấn mạnh Máy chủ Akamai của mình đã đăng nhập từ một phiên bản AWS. Vì vậy, tôi bắt đầu chạy ab điểm chuẩn. Tuy nhiên, họ dường như rất nhanh để tải xuống các tệp video ~ 3 MB. Tự nhiên tôi muốn xem những gì đang xảy ra. Đây là những gì tôi đã làm để có được các tập tin

curl -v -o / dev / null

Ở trên hoàn thành trong ~ 5 giây.

Tiếp theo, tôi chạy lại lệnh tương tự. Lần này, nó hoàn thành trong ~ 200ms! Đương nhiên, trực giác của tôi nói rằng tập tin đang được lưu trữ ở đâu đó.

Những câu hỏi của tôi:

  1. Có curl tập tin bộ nhớ cache? Nếu vậy, có cách nào để bỏ qua nó?
  2. Nếu curl không, ubfox có trừu tượng hóa bộ đệm bên dưới curl không? Nếu vậy, có cách nào để bỏ qua nó?
  3. Đưa ra các yêu cầu, bạn có nghĩ rằng có thể có một công cụ đo điểm chuẩn ngoài ab có thể phục vụ mục đích không?

Cảm ơn bạn, Akshay

Câu trả lời:


15

Máy khách curl không lưu các tập tin bộ nhớ cache, nhưng mạng máy chủ từ xa cũng có thể. Hãy thử thêm một biến chuỗi truy vấn tùy ý vào URL để xem bạn có thể tái tạo nó không.


Cảm ơn bạn vì câu trả lời. Tôi không thể thêm chuỗi truy vấn tùy ý làm máy chủ Akamai mà tôi sử dụng không chấp nhận bất kỳ thông số truy vấn nào! (buộc lỗi vì nó phụ thuộc vào thông báo mã thông báo muối của dấu thời gian và URL). Tuy nhiên tôi đã có thể tạo nhiều mã thông báo cho cùng một đường dẫn (về cơ bản là nhiều URL) và bạn hoàn toàn đúng. curl không lưu trữ bất kỳ tập tin - máy chủ từ xa là. Đi CDN! :)
Akshaya Shanbhogue

6

Tin tưởng, hãy thử:

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

Điều đó sẽ báo cho máy chủ web không lưu cache. Không dừng các lớp bên dưới bộ nhớ đệm trừ khi nó được mã hóa để tuân theo các tiêu đề.


0

Tôi đã sử dụng lệnh curl này với tham số buster cache.

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

date +%sin các giây kể từ kỷ nguyên, nếu bạn gọi url nhiều hơn một lần sử dụng một giây date +%s.%Nđể thêm vào nano giây.


0

Bạn có thể sử dụng thêm một ngẫu nhiên chuỗi truy vấn sử dụng các $RANDOMbiến môi trường:

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

Điều này làm việc cho tôi trên các tập tin thô github.


-2

Có thể dns của bạn đang lưu trữ độ phân giải của tên và đây là lý do của sự khác biệt về thời gian đáp ứng.

Đó chỉ là một lý thuyết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.