Hiểu các cấu hình được điều chỉnh của RedHat


8

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-guesthồ 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_ratiokernel.sched_min_granularity_ns.

Theo như tôi đã hiểu, việc tăng lên vm.dirty_ratiotớ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_centisecsbị 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?

Câu trả lời:


7

Câu trả lời ngắn gọn là mọi điều chỉnh đều là phỏng đoán và chỉ có giá trị khi được sao lưu bằng dữ liệu thực nghiệm: Hãy thử. Đo lường nó. Nếu bạn không thích nó, hãy điều chỉnh nó.

Một câu trả lời dài hơn:

Tăng Dirt_ratio có thể có nghĩa là hiệu suất ghi cao hơn ... IO sẽ bị chặn trong thời gian dài hơn đáng kể

Không. Tăng tỷ lệ bẩn có nghĩa là hệ thống của bạn ít có khả năng rơi vào trạng thái cần bắt đầu chặn khi ghi. Nhược điểm là có nhiều bộ nhớ được sử dụng và nguy cơ mất dữ liệu lớn hơn khi mất điện.

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 họ

Quá trình thường sẽ mang lại trước khi lát thời gian của họ hết hạn. Vấn đề với VM là máy của bạn có thể đang cạnh tranh bộ đệm CPU và L1 / L2 với các VM khác - mức độ chuyển đổi tác vụ cao (do làm trống trước) có ảnh hưởng lớn đến thông lượng. Loại ứng dụng thường được triển khai vào máy ảo là những ứng dụng bị ràng buộc CPU (máy chủ web, máy chủ ứng dụng).

Có, việc tăng thông lượng (áp dụng cho tất cả các loại ứng dụng) sẽ phải trả giá bằng việc tăng độ trễ - nhưng sau đó là thứ tự của micro giây khi hầu hết các giao dịch đang diễn ra trong một phần nghìn giây. Nếu bạn cần khả năng thời gian thực / độ trễ rất thấp thì bạn không nên sử dụng VM.


Cho thật. Đây chỉ là hướng dẫn. Điều chỉnh theo sở thích của bạn. Mặc dù vậy, tôi vẫn sử dụng bộ lập lịch "thời hạn" được đề xuất cho máy ảo.
ewwhite

1
@ewwhite Tại sao bạn muốn giới thiệu deadlinethay vì NOOP trên VMware với bộ lưu trữ phù hợp?
Espenfjo

@espenfjo Chà, vì RedHat khuyên bạn deadline... nhưng cũng nên xem câu trả lời của tôi.
ewwhite

12

Đây là lịch trình của các cấu hình điều chỉnh ...

Tôi nghĩ rằng nó giúp nhìn thấy chúng ở dạng bảng. Điều chính cần lưu ý là các cài đặt mặc định của RHEL6 !! Một điều khác là các doanh nghiệp lưu trữ và ảo-khách hồ sơ giống hệt nhau ngoại trừ giảm swappiness ở phía khách ảo (có ý nghĩa, phải không?).

hồ sơ điều chỉnh

Đối với một khuyến nghị về thang máy I / O lưu trữ, bạn có một vài lớp trừu tượng trên lớp lưu trữ. Sử dụng bộ lập lịch noop sẽ có ý nghĩa nếu bạn đang sử dụng RDM hoặc trình bày lưu trữ trực tiếp vào các máy ảo của mình. Nhưng vì họ sẽ sống trên NFS hoặc VMFS, tôi vẫn thích các tùy chọn điều chỉnh bổ sung được cung cấp bởi bộ lập lịch hạn chót.

Cấu hình điều chỉnh có thể được thay đổi nhanh chóng trên các hệ thống đang chạy, vì vậy nếu bạn có bất kỳ lo ngại nào, hãy kiểm tra ứng dụng của bạn và môi trường cụ thể và điểm chuẩn.


1
được rồi, cảm ơn bạn Hiểu lý do tại sao bạn muốn deadlinengay bây giờ :)
Espenfjo

8

Có một video xem các video điều chỉnh hiệu suất của Shak và Larry từ Hội nghị thượng đỉnh, họ nói về các cấu hình được điều chỉnh theo chiều sâu.

Một trong những mục đích lớn nhất là các hồ sơ chỉ là điểm khởi đầu được đề xuất, không phải là con số bất biến hoàn hảo một cách kỳ diệu cho mọi môi trường.

Bắt đầu với một hồ sơ và chơi xung quanh với các cài đặt. Tạo khối lượng công việc kiểm tra giống như sản xuất tốt và đo lường các số liệu quan trọng đối với doanh nghiệp của bạn.

Thay đổi một điều tại một thời điểm và ghi lại mọi kết quả ở mỗi lần lặp. Khi bạn hoàn thành, xem lại kết quả và chọn cài đặt cho kết quả tốt nhất. Đó là hồ sơ điều chỉnh lý tưởng của bạn.


Có một liên kết đến cuộc nói chuyện của Shak & Larry?
Aaron Copley

2
Tôi đã thêm các liên kết video vào câu trả lời của tôi.
suprjami
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.