# Đo hiệu năng NVMe mà không tự đánh lừa mình | SwissOctet Insights https://swissoctet.com/vi/insights/nvme-benchmark-methodology/ SwissOctet / Thông tin chuyên sâu / Lưu trữ & khôi phục Lưu trữ & khôi phục Nâng cao · 6 phút đọc Đo hiệu năng NVMe mà không tự đánh lừa mình Xác định mẫu I/O, kiểm soát hiệu ứng bộ nhớ đệm và kiểm tra phân phối độ trễ trước khi rút ra kết luận ứng dụng từ một bài kiểm tra đĩa. Bởi SwissOctet Editorial Lưu hướng dẫn Sao chép liên kết TRÊN TRANG NÀY 01 Bắt đầu bằng câu hỏi về lưu trữ, không phải điểm số 02 Mô tả khối lượng công việc bằng các thuật ngữ có thể tái lập 03 Kiểm soát bộ nhớ đệm mà không giả vờ rằng nó không quan trọng 04 Đọc đuôi độ trễ cùng với thông lượng 05 Giữ bài kiểm tra được cho phép và không phá hủy 06 Khép vòng lặp bằng bằng chứng từ ứng dụng Danh sách kiểm tra thực tế của bạn Nguồn & đọc thêm Quay lại thư viện CÂU TRẢ LỜI TRỰC TIẾP Một bài kiểm tra lưu trữ hữu ích khớp kích thước thao tác, mẫu truy cập, mức đồng thời và yêu cầu bền vững với ứng dụng. Ghi lại điều kiện kiểm tra và phân bố độ trễ, sau đó xác nhận kết quả bằng các phép đo từ ứng dụng. 01 Bắt đầu bằng câu hỏi về lưu trữ, không phải điểm số Hãy quyết định bạn cần biết gì trước khi chạy benchmark. Bạn có thể đang điều tra các lần commit cơ sở dữ liệu chậm, thông lượng phân phối tệp hoặc một quy trình build tạo ra nhiều tệp nhỏ. Những khối lượng công việc đó không yêu cầu ổ đĩa làm cùng một việc. Một bản sao tuần tự lớn có thể trông ấn tượng nhưng lại nói rất ít về độ trễ mà một dịch vụ thực hiện các lần đọc ngẫu nhiên nhỏ gặp phải. NVMe được thiết kế cho phương tiện không bay hơi và I/O song song hiệu quả, nhưng tên giao thức của nó không mô tả mọi phần của đường dẫn lưu trữ được lưu trữ. Ảo hóa, hệ thống tệp, tranh chấp tài nguyên và ứng dụng vẫn quan trọng. Hãy viết một giả thuyết kiểm tra chẳng hạn như liệu độ trễ lưu trữ có đang làm chậm một thao tác cụ thể hay không, thay vì cố tạo ra một con số chứng minh toàn bộ máy chủ nhanh. 02 Mô tả khối lượng công việc bằng các thuật ngữ có thể tái lập Ghi lại kích thước thao tác, mẫu tuần tự hoặc ngẫu nhiên, tỷ lệ đọc-ghi, số lượng job và độ sâu hàng đợi. Bao gồm kích thước tập dữ liệu và thời lượng kiểm tra. Tài liệu fio giải thích các kiểm soát khối lượng công việc này và các engine I/O có sẵn. Độ sâu dự định có thể không đạt được bởi mọi engine hoặc thiết lập, vì vậy hãy đọc cả hành vi được báo cáo lẫn cấu hình bạn đã yêu cầu. Giữ một bản sao mô tả bài kiểm tra bên cạnh kết quả. Ghi chú hệ điều hành, hệ thống tệp, tùy chọn mount, hoạt động dịch vụ và dung lượng khả dụng. Nếu bạn so sánh các cấu hình, hãy thay đổi một điều kiện liên quan tại một thời điểm. Một bài kiểm tra có mẫu truy cập hoặc mức đồng thời khác không thể được trình bày công bằng như thể chỉ có phương tiện lưu trữ thay đổi. Mẫu ứng dụng Chiều kiểm tra cần mô tả Kết quả cần xem xét Phân phối tệp lớn Đọc tuần tự và máy khách đồng thời Thông lượng duy trì và sử dụng CPU Tra cứu hồ sơ Đọc ngẫu nhiên nhỏ và mức đồng thời đại diện Phân bố độ trễ và các thao tác đã hoàn thành Giao dịch bền vững Yêu cầu ghi và đồng bộ hóa Độ trễ liên quan đến commit, không chỉ tốc độ ghi có đệm Build hoặc giải nén Các thao tác tệp nhỏ hỗn hợp Thời lượng job đầu-cuối và thời gian chờ I/O 03 Kiểm soát bộ nhớ đệm mà không giả vờ rằng nó không quan trọng Một tập dữ liệu vừa trong bộ nhớ có thể chủ yếu đo hành vi bộ nhớ đệm sau lượt đầu tiên. Điều đó có thể hữu ích nếu ứng dụng thường được hưởng lợi từ cùng bộ nhớ đệm đó, nhưng không nên được dán nhãn là hiệu năng thiết bị thô. Hãy chọn một cách có chủ đích xem bài kiểm tra sẽ xem xét đường dẫn ứng dụng ấm, tập dữ liệu lạnh hơn hay chế độ I/O nhằm giảm hiệu ứng đệm của hệ điều hành. Hỗ trợ Direct-I/O và căn chỉnh phụ thuộc vào nền tảng và engine. Nó cũng không tự động thể hiện yêu cầu bền vững của ứng dụng hoặc loại bỏ mọi bộ nhớ đệm trong ngăn xếp. Hãy nêu rõ chế độ đã chọn và tránh so sánh bài kiểm tra có đệm với bài kiểm tra không đệm như thể chúng đại diện cho cùng một công việc. Giữ giai đoạn khởi động và giai đoạn đo riêng biệt khi điều đó giúp giải thích. 04 Đọc đuôi độ trễ cùng với thông lượng Độ trễ trung bình có thể che giấu các thao tác chậm ảnh hưởng đến yêu cầu thực tế. Hãy xem xét các phân vị được báo cáo và số lượng mẫu đằng sau chúng. Một phân vị cao mô tả ranh giới mà dưới đó một tỷ lệ đã nêu của các thao tác quan sát được rơi vào trong bài kiểm tra đó; đó không phải là bảo đảm dịch vụ vĩnh viễn. Các lần chạy ngắn hoặc không đại diện cung cấp bằng chứng hạn chế về các giai đoạn sản xuất bận rộn. Độ sâu hàng đợi cao hơn có thể cải thiện thông lượng hoàn thành trong khi tăng thời gian chờ. Sự đánh đổi đó có thể phù hợp với xử lý theo lô và gây hại cho dịch vụ tương tác. Hãy so sánh kết quả ở mức đồng thời giống với ứng dụng và đồng thời theo dõi CPU và áp lực I/O. Dừng lại trước khi bài kiểm tra tạo ra gián đoạn không cần thiết cho khối lượng công việc khác dùng chung môi trường. 05 Giữ bài kiểm tra được cho phép và không phá hủy Sử dụng một thư mục kiểm tra chuyên dụng hoặc một volume dùng một lần đã chuẩn bị, với đủ dung lượng trống và kế hoạch dọn dẹp rõ ràng. Không bao giờ hướng benchmark ghi vào một thiết bị thô chưa được xác minh hoặc tập dữ liệu sản xuất. Kiểm tra mục tiêu và hành vi ghi của công cụ trước khi bắt đầu, và bắt đầu bằng một lần chạy giới hạn. I/O tổng hợp có thể tiêu tốn dung lượng và gây nhiễu dịch vụ ngay cả khi nó không ghi đè các tệp hữu ích. Đối với đánh giá giống sản xuất, hãy thống nhất một cửa sổ bảo trì và giữ giám sát ứng dụng. Sử dụng dữ liệu giả khi có thể. Không suy ra độ tin cậy lưu trữ từ một bài kiểm tra tốc độ: kiểm tra tính toàn vẹn, sao lưu và phục hồi là những nhiệm vụ riêng biệt. Một thiết bị hoàn thành benchmark vẫn cần chiến lược phục hồi cho việc xóa, lỗi phần mềm hoặc mất máy. 06 Khép vòng lặp bằng bằng chứng từ ứng dụng Giả sử một dịch vụ báo cáo dành phần lớn thời gian chờ đọc ngẫu nhiên. Nhóm kiểm tra một mẫu đọc đại diện, sau đó lặp lại báo cáo thực tế trên dữ liệu tương đương. Nếu báo cáo cải thiện trong khi các công việc khác vẫn ổn định, kết quả ủng hộ giả thuyết về lưu trữ. Nếu không, hãy điều tra thiết kế truy vấn, bộ nhớ hoặc một phụ thuộc khác thay vì lặp lại các bài kiểm tra tổng hợp rộng hơn. Pulse NVMe và các cấu hình chuyên dụng được chọn liệt kê lưu trữ NVMe trong danh mục SwissOctet. Nhãn của chúng là thông số kỹ thuật, không phải benchmark ứng dụng đã công bố. Hãy dùng một phương pháp được kiểm soát để đánh giá môi trường được cung cấp và lưu giữ các điều kiện cùng với phát hiện. Quyết định trở nên vững chắc hơn khi phép đo lưu trữ và kết quả người dùng thấy trả lời cùng một câu hỏi. BIẾN NÓ THÀNH HÀNH ĐỘNG Danh sách kiểm tra thực tế của bạn. ✓ Xác định câu hỏi ứng dụng trước. ✓ Ghi lại mẫu, kích thước khối, mức đồng thời và thời lượng. ✓ Nêu rõ giả định về bộ nhớ đệm và chế độ I/O. ✓ Kiểm tra các phân vị độ trễ cũng như thông lượng. ✓ Dùng mục tiêu dùng một lần đã xác minh và tải ban đầu giới hạn. ✓ Xác nhận phát hiện bằng một bài kiểm tra ứng dụng. Tải danh sách kiểm tra CÂU HỎI THƯỜNG GẶP Những chi tiết quan trọng. Một bản sao tuần tự có đủ để so sánh lưu trữ cơ sở dữ liệu? + Thường là không. Truy cập cơ sở dữ liệu có thể bao gồm đọc ngẫu nhiên nhỏ, ghi và đồng bộ hóa. Hãy mô hình hóa mẫu liên quan và xác minh ứng dụng thực tế. Direct I/O có chứng minh ghi bền vững không? + Không. Đệm và bền vững là những vấn đề riêng biệt. Hãy khớp hành vi đồng bộ hóa mà ứng dụng yêu cầu. Tôi có thể công bố một bài kiểm tra như tốc độ gói được đảm bảo không? + Không. Hãy công bố các điều kiện và phạm vi của nó. Một kết quả đo từ một lần chạy không phải là bảo đảm mức dịch vụ hoặc hiệu năng trong tương lai. TÀI LIỆU THAM KHẢO CHÍNH Đến nguồn. Các tài liệu tham khảo này hỗ trợ các khái niệm kỹ thuật trong hướng dẫn này. Hãy theo dõi tài liệu hiện hành trước khi thay đổi hệ thống sản xuất. fio: Tài liệu công cụ kiểm tra I/O linh hoạt fio.readthedocs.io NVM Express: Tổng quan thông số kỹ thuật và FAQ nvmexpress.org Nhân Linux: Pressure Stall Information docs.kernel.org Hướng dẫn biên tập bởi SwissOctet. Các ví dụ chỉ mang tính minh họa. Thông số dịch vụ, tùy chọn có sẵn và điều kiện hợp đồng phải được xác minh riêng. KẾT NỐI KIẾN THỨC Hạ tầng liên quan. Pulse NVMe Thụy Sĩ Metal Hyper Thụy Sĩ Metal EPYC Thụy Sĩ GIỮ MẠCH Ghi chú thực địa tiếp theo của bạn. Khám phá mọi hướng dẫn GHI CHÚ THỰC ĐỊA / 01 + Lưu trữ & khôi phục Nền tảng Khi NVMe tạo ra khác biệt cho ứng dụng của bạn Phân biệt dung lượng, độ trễ và thông lượng để một nhãn lưu trữ nhanh hơn giải quyết vấn đề ứng dụng thực tế. 4 phút đọc Đọc hướng dẫn GHI CHÚ THỰC ĐỊA / 02 + Lưu trữ & khôi phục Ứng dụng Ảnh chụp nhanh và sao lưu: chọn sự cố bạn cần vượt qua So sánh điểm phục hồi, ranh giới sự cố và tính nhất quán ứng dụng thay vì giả định ảnh chụp nhanh và bản sao lưu độc lập cung cấp cùng mức bảo vệ. 4 phút đọc Đọc hướng dẫn GHI CHÚ THỰC ĐỊA / 03 + Lưu trữ & khôi phục Nền tảng Lưu trữ object, file hay block: chọn giao diện ứng dụng của bạn cần Phân biệt các giao diện lưu trữ, ngữ nghĩa truy cập và trách nhiệm vận hành trước khi biến một yêu cầu dung lượng thành kiến trúc ứng dụng. 4 phút đọc Đọc hướng dẫn