Dịch vụ đám mây Azure của tôi đọc và ghi lên các đốm màu bằng cách sử dụng thư viện lưu trữ .Net (1.7). Các đốm màu nằm trong cùng một trung tâm dữ liệu với dịch vụ. Trong container đầu tiên của tôi, hoạt động rất nhanh (thứ tự 10ms). Trong container thứ hai của chúng, chúng rất chậm (thường là khoảng 2s hoặc 14s, không nhiều ở giữa). Cả hai đều chuyển dữ liệu bằng cách sử dụng CloudBlob.DownloadToStream() vào một MemoryStream. Kích thước tệp thường nhỏ hơn 100kB.Tại sao lưu trữ Azure blob không thường xuyên truy cập chậm?
Bây giờ tôi thừa nhận tôi chưa thiết lập một bài kiểm tra thích hợp để có thể chứng minh tất cả những điều trên - tôi chỉ đọc các tệp nhật ký của mình, vì vậy có thể có một số khác biệt tinh tế trong cách tôi truy cập các đốm màu . Xin lỗi nếu điều này hóa ra là trường hợp.
Dù sao, sự khác biệt có liên quan duy nhất giữa hai container này có vẻ là:
- container nhanh chóng được truy cập thường xuyên (hàng chục ngàn yêu cầu mỗi ngày), và container chậm khá thường xuyên (cách đây khoảng 200 yêu cầu mỗi ngày).
- Vùng chứa nhanh thường lưu trữ các mục được tìm nạp ngay sau đó. Vùng chứa chậm thường tải những thứ có thể đã được lưu trữ cách đây vài ngày.
Câu hỏi: Yếu tố nào ảnh hưởng đến hiệu suất blob cho các đốm màu không thường xuyên truy cập? Tôi có thể làm gì để làm cho nó nhanh hơn?
(Tôi không biết lưu trữ Azure blob được thực hiện như thế nào, nhưng dựa trên ở trên tôi sẽ đoán dữ liệu được lưu vào mảng lưu trữ và được truy cập thông qua bộ sưu tập VM động, mỗi bộ Vì vậy, sự chậm trễ ~ 14s xảy ra khi Azure tìm thấy nó cần phải quay lên máy ảo.Thời gian trễ ~ 2s xảy ra khi một máy ảo có sẵn, nhưng nó cần phải săn lùng dữ liệu trên một đĩa vật lý (có vẻ như khá chậm) và độ trễ 10ms xảy ra khi mục được lưu trữ trong bộ nhớ cache trong bộ nhớ hoặc một cái gì đó tương tự.)
Tương tự ở đây, vào năm 2015. Giống như 2 hoặc 14, và đôi khi xuống đến 45 giây. Nhưng tôi đã không có mối tương quan với bất cứ điều gì. –