Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mở

Chúng ta tiếp tục nói về các công cụ đánh giá hiệu suất CPU trên máy Linux. Hôm nay trong tài liệu: temci, uarch-bench, likwid, perf-tools và llvm-mca.

Thêm điểm chuẩn:

Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mở
Фото - Lukas Blazek - Bỏ qua

temci

Đây là một công cụ để ước tính thời gian thực hiện của hai chương trình. Về cơ bản, nó cho phép bạn so sánh thời gian thực hiện của hai ứng dụng. Tác giả của tiện ích này là một sinh viên đến từ Đức, Johannes Bechberger, người đã phát triển nó như một phần của luận án đại học của mình vào năm 2016. Công cụ ngày nay phân phối bởi được cấp phép theo Giấy phép Công cộng GNU.

Johannes muốn tạo ra một công cụ cho phép ông đo lường hiệu suất của hệ thống máy tính trong một môi trường được kiểm soát. Do đó, một trong những tính năng chính của temci là khả năng thiết lập môi trường thử nghiệm. Ví dụ, ai có thể: thay đổi cài đặt trình quản lý tần số CPU, tắt siêu phân luồng và bộ đệm L1 và L2, hãy tắt chế độ turbo trên bộ xử lý Intel, v.v. Để đo điểm chuẩn, temci sử dụng các công cụ thời gian, perf_stat и sự say mê.

Đây là giao diện của tiện ích trong trường hợp đầu tiên:

# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times                [####################################]  100%
Report for single runs
sleep 0.1            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      100.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1800k, deviation = 3.86455%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

sleep 0.2            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      200.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1968k, deviation = 3.82530%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

Dựa trên kết quả đo điểm chuẩn, hệ thống sẽ tạo ra báo cáo thuận tiện với sơ đồ, bảng biểu và đồ thị giúp phân biệt temci với các giải pháp tương tự.

Trong số những khuyết điểm của temci, “tuổi trẻ” của nó nổi bật. Vì điều này mà anh ấy không phải mọi thứ đều được hỗ trợ cấu hình phần cứng và phần mềm. Ví dụ: rất khó chạy trên macOS và một số tính năng không có trên hệ thống dựa trên ARM. Trong tương lai, tình hình có thể thay đổi, vì tác giả đang tích cực phát triển dự án và số lượng sao trên GitHub đang dần tăng lên - cách đây không lâu, temci thậm chí còn thảo luận trong các ý kiến trên Tin tức Hacker.

băng ghế dự bị

Một tiện ích để đánh giá hiệu suất của các chức năng CPU cấp thấp, được phát triển bởi kỹ sư Travis Downs (Travis Downs). Gần đây anh ấy có viết blog Vấn đề Hiệu suất trên Trang GitHub, nơi nói về các công cụ đo điểm chuẩn và những thứ liên quan khác. Nói chung, uarch-bench mới bắt đầu phổ biến nhưng nó đã khá phổ biến rồi. đề cập cư dân của Hacker News trong các chủ đề chuyên đề như một công cụ hữu ích để đo điểm chuẩn.

Uarch-bench cho phép bạn đánh giá hiệu suất bộ nhớ, tốc độ tải dữ liệu song song và công việc dọn dẹp thanh ghi YMM. Bạn có thể tìm thấy kết quả đo điểm chuẩn do chương trình tạo ra trông như thế nào trong kho chính thức ở cuối trang.

Điều đáng chú ý là uarch-bench, giống như temci, vô hiệu hóa Chức năng Intel Turbo Boost (nó tự động tăng tốc độ xung nhịp của bộ xử lý khi tải) để kết quả kiểm tra được nhất quán.

Hiện tại, dự án đang ở giai đoạn phát triển ban đầu, do đó, uarch-bench không có tài liệu chi tiết và hoạt động của nó có thể có lỗi - ví dụ: những khó khăn đã được biết đến với sự ra mắt trên Ryzen. Ngoài ra, chỉ hỗ trợ điểm chuẩn cho kiến ​​trúc x86. Tác giả hứa hẹn sẽ bổ sung thêm nhiều chức năng hơn trong tương lai và mời bạn tham gia phát triển.

chất lỏng

Đây là bộ công cụ đánh giá hiệu năng của máy Linux với bộ vi xử lý Intel, AMD và ARMv8. Nó được tạo ra dưới sự bảo trợ của Bộ Giáo dục và Nghiên cứu Liên bang Đức vào năm 2017 và được phát hành thành nguồn mở.

Trong số các công cụ likwid, chúng ta có thể làm nổi bật likwid-powermeter, hiển thị thông tin từ thanh ghi RAPL về lượng điện năng mà hệ thống tiêu thụ, cũng như likwid-setFrequency, cho phép bạn kiểm soát tần số bộ xử lý. Bạn có thể xem danh sách đầy đủ tìm trong kho lưu trữ.

Công cụ này được sử dụng bởi các kỹ sư tham gia nghiên cứu HPC. Ví dụ: với likwid công trình một nhóm các chuyên gia đến từ Trung tâm Máy tính Khu vực của Đại học Erlangen-Nuremberg (RRZE) ở Đức. Cô cũng tham gia tích cực vào việc phát triển bộ công cụ này.

Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mở
Фото - Clem Onojeghuo - Bỏ qua

công cụ hoàn hảo

Công cụ này để phân tích hiệu suất của máy chủ Linux giới thiệu Brendan Gregg. Anh ấy là một trong những nhà phát triển DTrace - một khung theo dõi động để gỡ lỗi các ứng dụng trong thời gian thực.

perf-tools dựa trên hệ thống con kernel perf_events và ftrace. Các tiện ích của chúng cho phép bạn phân tích độ trễ I/O (iosnoop), theo dõi các đối số cuộc gọi hệ thống (unccount, funcslow, funcgraph và functrace) và thu thập số liệu thống kê về “lần truy cập” trong bộ nhớ đệm tệp (cachestat). Trong trường hợp sau, lệnh trông như thế này:

# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

Một cộng đồng khá lớn đã hình thành xung quanh nhạc cụ (gần 6 nghìn sao trên GitHub). Và có những công ty tích cực sử dụng các công cụ hoàn thiện, chẳng hạn Netflix. Nhưng công cụ này đang được phát triển và sửa đổi thêm (mặc dù gần đây các bản cập nhật hiếm khi được phát hành). Do đó, lỗi có thể xảy ra trong quá trình hoạt động của nó - tác giả viết rằng đôi khi các công cụ hoàn hảo khiến kernel bị hoảng loạn.

llvm-mca

Một tiện ích dự đoán số lượng tài nguyên máy tính mà mã máy sẽ yêu cầu trên các CPU khác nhau. Cô ấy đánh giá Hướng dẫn mỗi chu kỳ (IPC) và tải trên phần cứng mà một ứng dụng cụ thể tạo ra.

llvm-mca được giới thiệu vào năm 2018 như một phần của dự án LLVM, đang phát triển một hệ thống phổ quát để phân tích, chuyển đổi và tối ưu hóa các chương trình. Được biết, các tác giả của llvm-mca đã lấy cảm hứng từ một giải pháp phân tích hiệu suất phần mềm IACA từ Intel và tìm cách tạo ra một giải pháp thay thế. Và theo người dùng, đầu ra của công cụ (bố cục và số lượng) thực sự giống IACA - ví dụ có thể được tìm thấy ở đây. Tuy nhiên, llvm-mca chỉ chấp nhận Cú pháp AT&T, vì vậy rất có thể bạn sẽ phải sử dụng các bộ chuyển đổi để làm việc với nó.

Những gì chúng tôi viết trên blog và mạng xã hội của mình:

Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mở "Chiếu. Mô hình Phố Wall" hay cách tối ưu hóa chi phí đám mây

Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mở Cách bảo mật hệ thống Linux của bạn: 10 mẹo
Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mở Giảm thiểu rủi ro: làm thế nào để không bị mất dữ liệu

Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mở Sách dành cho những người đã tham gia quản trị hệ thống hoặc mới bắt đầu
Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mở Lựa chọn: năm cuốn sách và một khóa học trên mạng

Điểm chuẩn cho máy chủ Linux: tuyển tập các công cụ mởTại 1cloud.ru, chúng tôi cung cấp dịch vụ miễn phí “lưu trữ DNS" Bạn có thể quản lý bản ghi DNS trong một tài khoản cá nhân.

Nguồn: www.habr.com

Thêm một lời nhận xét