Chúng tôi sẽ triển khai điều chỉnh (và numad) trên ~ 1000 máy chủ, phần lớn trong số chúng là máy chủ VMware hoặc trên bộ lưu trữ NetApp hoặc 3Par.
Theo tài liệu của RedHats chúng ta nên chọn virtual-guest
hồ sơ. Những gì nó đang làm có thể được nhìn thấy ở đây: tuned.conf
Chúng tôi đang thay đổi bộ lập lịch IO thành NOOP vì cả VMware và NetApp / 3Par sẽ thực hiện đủ lịch trình cho chúng tôi.
Tuy nhiên, sau khi điều tra một chút tôi không chắc tại sao chúng lại tăng vm.dirty_ratio
và kernel.sched_min_granularity_ns
.
Theo như tôi đã hiểu, việc tăng lên vm.dirty_ratio
tới 40% sẽ có nghĩa là đối với một máy chủ có ram 20 GB, 8GB có thể bị bẩn bất cứ lúc nào trừ khi vm.dirty_writeback_centisecs
bị tấn công trước. Và trong khi xóa 8GB, tất cả IO cho ứng dụng sẽ bị chặn cho đến khi các trang bẩn được giải phóng.
Tăng Dirt_ratio có thể có nghĩa là hiệu suất ghi cao hơn ở mức cao nhất vì bây giờ chúng ta có bộ đệm lớn hơn, nhưng sau đó một lần nữa khi bộ đệm lấp đầy IO sẽ bị chặn trong thời gian dài hơn đáng kể (Vài giây).
Khác là tại sao họ đang tăng sched_min_granularity_ns
. Nếu tôi hiểu nó tăng chính xác thì giá trị này sẽ giảm số lát thời gian trên mỗi epoch ( sched_latency_ns
) có nghĩa là các tác vụ đang chạy sẽ có thêm thời gian để hoàn thành công việc của chúng. Tôi có thể hiểu đây là một điều rất tốt cho các ứng dụng có rất ít chủ đề, nhưng ví dụ. apache hoặc các quá trình khác với rất nhiều chủ đề này sẽ không phản tác dụng?