Hôm nay chúng ta sẽ nói về các công cụ mở để đánh giá hiệu suất của bộ xử lý, bộ nhớ, hệ thống tệp và hệ thống lưu trữ.
Danh sách này bao gồm các tiện ích được cung cấp bởi cư dân GitHub và những người tham gia các chủ đề chuyên đề trên Reddit - Sysbench, UnixBench, Phoronix Test Suite, Vdbench và IOzone.
Đây là một tiện ích để kiểm tra tải các máy chủ MySQL, dựa trên dự án LuaJIT, trong đó một máy ảo cho ngôn ngữ Lua đang được phát triển. Tác giả của công cụ này là lập trình viên và chuyên gia MySQL Alexey Kopytov. Dự án bắt đầu như một sở thích, nhưng theo thời gian đã được cộng đồng công nhận. Ngày nay, sysbench được các trường đại học lớn và các tổ chức CNTT sử dụng trong công việc của họ. như IEEE.
Trong hội nghị SECR-2017 (ghi âm bài phát biểu có sẵn trên YouTube) Alexey cho biết, sysbench cho phép bạn đánh giá hiệu suất của cơ sở dữ liệu khi chuyển sang thiết bị mới, cập nhật phiên bản DBMS hoặc thay đổi đột ngột về số lượng truy vấn. Nói chung, cú pháp lệnh để chạy thử nghiệm như sau:
sysbench [options]... [testname] [command]
Lệnh này xác định loại (cpu, bộ nhớ, fileio) và các thông số của quá trình kiểm tra tải (số lượng luồng, số lượng yêu cầu, tốc độ xử lý giao dịch). Nhìn chung, công cụ này có khả năng xử lý hàng triệu sự kiện mỗi giây. Alexey Kopytov đã nói chi tiết hơn về kiến trúc và cấu trúc bên trong của sysbench tại một trong những các tập của Podcast phát triển phần mềm.
Một bộ công cụ để đánh giá hiệu suất của hệ thống Unix. Nó được giới thiệu bởi các kỹ sư của Đại học Monash vào năm 1983. Kể từ đó, nhiều người đã ủng hộ công cụ này, ví dụ như tác giả của một tạp chí về công nghệ máy vi tính Tạp chí Byte và thành viên LKML David Niemi. Anthony Voelm chịu trách nhiệm phát hành phiên bản tiếp theo của công cụ (Anthony Voellm) từ Microsoft.
UnixBench là một bộ tiêu chuẩn tùy chỉnh. Họ so sánh tốc độ thực thi mã trên máy Unix với hiệu suất của hệ thống tham chiếu. trạm SPARC 20-61. Dựa trên sự so sánh này, điểm hiệu suất sẽ được tạo ra.
Trong số các bài kiểm tra có sẵn là: Whetstone, mô tả hiệu quả của các thao tác dấu phẩy động, File Copy, đánh giá tốc độ sao chép dữ liệu và một số điểm chuẩn 2D và 3D. Một danh sách đầy đủ các bài kiểm tra có thể được tìm thấy trong kho lưu trữ trên GitHub. Nhiều người trong số họ sử dụng để đánh giá hiệu suất của các máy ảo trên đám mây.
Bộ thử nghiệm này được phát triển bởi các tác giả của tài nguyên web Phoronix, nơi xuất bản tin tức về các bản phân phối GNU/Linux. Test Suite được giới thiệu lần đầu tiên vào năm 2008 - sau đó nó bao gồm 23 bài kiểm tra khác nhau. Sau đó các nhà phát triển đã tung ra dịch vụ đám mây openbenchmarking.org, nơi người dùng có thể đăng tập lệnh thử nghiệm của riêng họ. Hôm nay trên đó trình bày khoảng 60 bộ điểm chuẩn, bao gồm cả những bộ liên quan đến máy học và công nghệ dò tia.
Bộ tập lệnh chuyên biệt cho phép bạn kiểm tra các thành phần hệ thống riêng lẻ. Với sự trợ giúp của họ, bạn có thể ước tính thời gian biên dịch kernel và mã hóa các tệp video, tốc độ nén của trình lưu trữ, v.v. Để chạy thử nghiệm, chỉ cần viết lệnh thích hợp trong bảng điều khiển. Ví dụ: lệnh này bắt đầu đánh giá hiệu suất CPU:
phoronix-test-suite benchmark smallpt
Trong quá trình thử nghiệm, Test Suite giám sát độc lập trạng thái của thiết bị (nhiệt độ CPU và tốc độ quay của bộ làm mát), bảo vệ hệ thống khỏi quá nóng.
Một công cụ tạo tải I/O trên hệ thống đĩa, được phát triển bởi Oracle. Nó giúp đánh giá hiệu suất và tính toàn vẹn của hệ thống lưu trữ (chúng tôi đã chuẩn bị thông tin về cách tính hiệu suất lý thuyết của hệ thống đĩa thông tin ngắn gọn).
Giải pháp này hoạt động như sau: trên hệ thống thực, chương trình SWAT (Sun StorageTek Workload Analysis Tool) được khởi chạy, tạo ra một kết xuất với tất cả các quyền truy cập vào đĩa trong một khoảng thời gian nhất định. Dấu thời gian, loại hoạt động, địa chỉ và kích thước khối dữ liệu được ghi lại. Tiếp theo, bằng cách sử dụng tệp kết xuất, vdbench mô phỏng tải trên bất kỳ hệ thống nào khác.
Tiện ích Console để đánh giá hiệu suất của hệ thống tập tin. Nó quyết định tốc độ đọc, ghi và ghi lại tập tin. Hàng chục lập trình viên đã tham gia vào quá trình phát triển công cụ này, nhưng tác giả của phiên bản đầu tiên coi kỹ sư William Norcott. Sự phát triển được hỗ trợ bởi các công ty như Apple, NetApp và iXsystems.
Để quản lý các luồng và đồng bộ hóa chúng trong quá trình thử nghiệm, công cụ này sử dụng tiêu chuẩn Chủ đề POSIX. Sau khi hoàn thành công việc, IOzone tạo một báo cáo với kết quả ở định dạng văn bản hoặc dưới dạng bảng tính (Excel). Công cụ này cũng bao gồm tập lệnh gengnuplot.sh, tập lệnh này xây dựng biểu đồ ba chiều dựa trên dữ liệu bảng. Ví dụ về các biểu đồ như vậy có thể được tìm thấy trong tài liệu dành cho công cụ (trang 11–17).
IOzone có sẵn dưới dạng hồ sơ thử nghiệm trong Phoronix Test Suite đã được đề cập.
Đọc thêm từ blog và phương tiện truyền thông xã hội của chúng tôi: