Nội dung text [Bài đọc] Tổng quan kiểm thử hiệu năng
[Bài đọc] Tổng quan kiểm thử hiệu năng 1.Tổng quan kiểm thử hiệu năng 2. Mục tiêu kiểm thử hiệu năng Một số mục tiêu chính của kiểm thử hiệu năng: 1. Đánh giá hiệu suất: Xác định thời gian đáp ứng, độ trễ, và thời gian tải trang của hệ thống dưới tải nhất định. Mục tiêu là đảm bảo rằng hệ thống đáp ứng nhanh chóng và đáng tin cậy trong việc xử lý yêu cầu từ người dùng. 2. Xác định sức chứa (Capacity Planning): Xác định khả năng của hệ thống chịu đựng mức tải nhất định trong một khoảng thời gian dài mà không gây ra sự giảm sút đáng kể về hiệu năng. Điều này giúp ngăn ngừa các vấn đề về quá tải và lựa chọn phương án mở rộng hệ thống khi cần thiết. 3. Tìm kiếm và giải quyết lỗi hiệu suất: Xác định các lỗi và điểm yếu liên quan đến hiệu suất của ứng dụng hoặc hệ thống và giải quyết chúng. Điều này bao gồm tối ưu hóa mã nguồn, cơ sở dữ liệu, cấu hình hệ thống, và các yếu tố khác để tăng cường hiệu năng. 4. Đánh giá tải đỉnh (Stress Testing): Kiểm tra khả năng của hệ thống trong điều kiện tải cao gấp đôi hoặc gấp nhiều lần so với tải dự kiến
trong điều kiện bình thường. Mục tiêu là xác định điểm giới hạn của hệ thống và xem nó có vẫn hoạt động ổn định hay không. 5. Đánh giá sự ổn định (Stability Testing): Kiểm tra khả năng của hệ thống trong điều kiện tải ổn định và liên tục trong thời gian dài. Mục tiêu là đảm bảo rằng hệ thống không bị suy giảm hiệu năng sau một thời gian dài chạy. 6. Đánh giá hành vi hệ thống trong thời gian dài (Endurance Testing): Kiểm tra khả năng của hệ thống xử lý tải liên tục trong một khoảng thời gian dài để xác định sự ổn định và hiệu suất của nó trong điều kiện tải liên tục. 3. Các thông số đánh giá kiểm thử hiệu năng Để đánh giá hiệu năng của một server, có nhiều metrics (số liệu đo lường) quan trọng mà chúng ta cần sử dụng, dưới đây là một số metrics chính mà thường được sử dụng: 1. Thời gian đáp ứng (Response Time): Đây là thời gian mà server mất để xử lý yêu cầu từ người dùng và trả về kết quả. Thời gian đáp ứng càng thấp càng tốt, vì nó cho thấy server xử lý nhanh chóng và đáng tin cậy.
2. Thông lượng (Throughput): Đây là số lượng yêu cầu mà server có thể xử lý trong một khoảng thời gian nhất định. Thông lượng cao cho thấy server có khả năng xử lý tải cao và đáp ứng hiệu quả. 3. Tỷ lệ lỗi (Error Rate): Đo lường tỷ lệ yêu cầu gặp lỗi so với tổng số yêu cầu đã được xử lý. Tỷ lệ lỗi càng thấp càng tốt, vì nó cho thấy server đáp ứng đúng và ổn định. 4. Tải CPU (CPU Load): Đây là mức sử dụng của CPU trên server. Đo lường tải CPU giúp xác định mức độ sử dụng CPU và đảm bảo rằng server không bị quá tải. 5. Tải bộ nhớ (Memory Usage): Đo lường tải bộ nhớ giúp xác định mức sử dụng bộ nhớ trên server. Server cần đủ bộ nhớ để xử lý các yêu cầu mà không gây ra vấn đề về hiệu suất. 6. Tốc độ ghi/đọc dữ liệu (Disk I/O): Đo lường tốc độ ghi và đọc dữ liệu trên ổ cứng. Tốc độ disk I/O càng cao càng tốt, vì nó ảnh hưởng trực tiếp đến thời gian truy xuất dữ liệu. 7. Tổng số yêu cầu (Total Requests): Đây là tổng số yêu cầu đã được gửi đến server trong một khoảng thời gian nhất định. Đo lường tổng số yêu cầu giúp xác định tải của server và cân nhắc việc mở rộng nếu cần thiết. 8. Tải mạng (Network Load): Đây là lưu lượng mạng được sử dụng trên server. Đo lường tải mạng giúp xác định mức sử dụng băng thông và đảm bảo rằng mạng không bị quá tải. 9. Số kết nối đồng thời (Concurrent Connections): Đo lường số lượng kết nối đồng thời tới server. Số kết nối đồng thời cao cũng là một yếu tố quan trọng để đảm bảo server có thể xử lý đồng thời nhiều người dùng. Các metrics trên giúp bạn có thể đánh giá chính xác hiệu năng của server từ nhiều phương diện khác nhau, từ tài nguyên phần cứng, tài nguyên hệ thống, đến hiệu suất trả về.