2 điểm bởi computerphilosopher 5 giờ trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Các tham số mặc định của ZFS được đặt như một điểm cân bằng giữa truy cập tuần tự và truy cập ngẫu nhiên
    • Nếu nắm rõ đặc tính workload, có thể tinh chỉnh mạnh tay hơn
  • Giải thích sự khác biệt giữa truy cập tuần tự và truy cập ngẫu nhiên
    • HDD có thể chậm hơn hàng chục đến hàng trăm lần khi truy cập ngẫu nhiên so với truy cập tuần tự do phải di chuyển đầu đọc
    • SSD cũng đã cải thiện đáng kể tốc độ truy cập ngẫu nhiên, nhưng truy cập tuần tự vẫn hiệu quả hơn
    • Workload đọc các tệp lớn theo thứ tự có xu hướng truy cập tuần tự rất rõ
    • Workload thường xuyên đọc nhiều tệp nhỏ dễ có xu hướng truy cập ngẫu nhiên mạnh hơn
  • Giới thiệu cách phân tích workload
    • Suy luận logic dựa trên mã/kiến trúc
    • Tính kích thước IO trung bình dựa trên thông lượng (bps) + số IO mỗi giây (iops)
    • Phân tích phân bố kích thước IO dựa trên zpool iostat -r
  • Diễn giải zpool iostat -r
    • ind: kích thước yêu cầu logic riêng lẻ
    • agg: kích thước IO thực tế sau khi được gộp lại để thực thi
    • Nếu agg lớn hơn ind, điều đó có nghĩa là việc gộp các IO liền kề đang diễn ra hiệu quả
  • Kết quả phân tích workload ví dụ
    • Tỷ trọng đọc đồng bộ khoảng 76%
    • Hơn 99% lượt đọc có kích thước từ 32KiB trở xuống
    • Ghi bất đồng bộ cũng chiếm tỷ trọng IO nhỏ cao
    • Nhìn chung, đây là workload có xu hướng truy cập ngẫu nhiên rất mạnh
  • zfs_prefetch_disable
    • Khi phát hiện mẫu truy cập tuần tự, ZFS sẽ nạp trước các block lân cận vào ARC
    • Với workload truy cập ngẫu nhiên, tỷ lệ trúng đọc trước thấp có thể chỉ làm tăng thêm IO không cần thiết
    • Có thể đo hiệu quả đọc trước dựa trên arc_summary
    • Nếu tỷ lệ trúng thấp, có thể cân nhắc zfs_prefetch_disable
  • recordsize
    • Giá trị mặc định là 128K
    • Trong workload ví dụ, phần lớn IO ở mức 32KiB trở xuống nên có thể cân nhắc recordsize nhỏ hơn
  • Chọn giá trị tối ưu
    • Điều quan trọng là quyết định dựa trên benchmark
    • Các CSDL như MySQL/Postgres đã có nhiều trường hợp tinh chỉnh được kiểm chứng
    • Nói chung, nhiều trường hợp sử dụng recordsize tương đương với kích thước trang của CSDL

Chưa có bình luận nào.

Chưa có bình luận nào.