Điểm:1

Các tùy chọn để cải thiện hiệu suất hoạt động siêu dữ liệu SMB của bộ chứa ổ đĩa

lá cờ kh

Câu hỏi

Có cách nào để cải thiện hiệu suất hoạt động của siêu dữ liệu giữa vùng chứa dựa trên Linux chạy trong Dịch vụ ứng dụng Azure và ổ đĩa được gắn được lưu trữ trong Tệp Azure không?

Bối cảnh

Gần đây tôi đã di chuyển một giải pháp có mọi thứ trên một máy chủ sang giải pháp dựa trên Azure trong đó:

  • Mã chạy trên vùng chứa được lưu trữ trong Dịch vụ ứng dụng Azure.
  • Những tệp là một phần của dữ liệu kinh doanh nằm trên Tệp Azure (tức là chia sẻ trong Tài khoản lưu trữ Azure)/được gắn trên vùng chứa (thông qua dịch vụ ứng dụng của Cài đặt > Cấu hình > Ánh xạ đường dẫn tiết diện).

Điều này đã gây ra một số vấn đề về hiệu suất với các thao tác tìm kiếm trong một thư mục để xem liệu một số tệp nhất định có tồn tại hay không. Điều đó hiện được thực hiện thông qua PHP chức năng tồn tại tập tin.

Khi thử nghiệm trên thiết bị cục bộ của mình, tôi có thể cải thiện hiệu suất bằng cách nối thêm :được lưu trong bộ nhớ cache đến tham số liên kết; ví dụ. --mount type=bind,source=d:\my\host\path,target=/var/my/container/path:cached; nhưng tôi không thể tìm thấy tùy chọn để thực hiện bất kỳ điều gì tương tự trong Dịch vụ ứng dụng Azure.

Bộ chứa của tôi đang chạy Linux (Ubuntu:21:10); và tôi đã đọc rằng các hoạt động siêu dữ liệu SMB (bao gồm cả việc kiểm tra xem tệp có tồn tại hay không) có chi phí hoạt động trong Linux cao hơn so với Windows; vì vậy có lẽ điều đó có liên quan (tức là Tệp Azure sử dụng SMB); mặc dù tôi không chắc chắn (vì đường dẫn được gắn vào vùng chứa, vì vậy hệ điều hành vùng chứa có thể không biết về việc triển khai cơ bản).

tôi đã kích hoạt chia sẻ tập tin lớn để tăng IOP có sẵn cho tệp chia sẻ; nhưng nó không tạo ra sự khác biệt nào (do đây là siêu dữ liệu chứ không phải là vấn đề về hiệu suất IO, có ý nghĩa).

Hiện tại, tôi đang nghĩ giải pháp sẽ là cập nhật mã để giữ cấu trúc tệp đại diện trong cơ sở dữ liệu của ứng dụng để chúng tôi có thể truy vấn mã đó để nhận được thông tin tương tự nhanh hơn; nhưng điều này có nhược điểm là mọi thao tác tải lên hoặc xóa một tệp cũng cần phải cập nhật cơ sở dữ liệu để giữ cho thông tin về đĩa và db được đồng bộ hóa/sao chép nơi lưu giữ thông tin; vì vậy tôi muốn giải quyết vấn đề cơ sở hạ tầng này hơn là mã hóa lại nếu có thể.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.