Ta sẽ thực hiện đánh giá performance cho một số trang chính.
Để đánh giá Performance, ta sẽ dùng công cụ mô phỏng jmeter để kiểm tra truy cập hệ thống khi nhiều người dùng cùng lúc truy cập vào hệ thống. Ta sẽ thực hiện kiểm tra hiệu năng của website đã được deploy lên các tên miền(heroku, azure).
Ta sẽ thực hiện đánh giá performance khi nhiều người dùng cùng truy cập cho các trang của hệ thống như trang chủ khi người dùng chưa đăng nhập, trang danh sách từng loại sản phẩm, trang chủ khi người dùng đăng nhập, hiển thị danh sách sản phẩm tìm kiếm theo từ khoá, …
Ta sẽ thiết lập thông số về số lượng người dùng truy cập như hình sau đây:
Hình 7.2: thiết lập thông số về số người dùng truy cập và thời gian kiểm tra
Tuỳ từng trường hợp khác nhau mà ta sẽ thiết lập các thông số khác nhau như là số lượng người dùng truy cập khác nhau trong khoảng thời gian khác nhau.
Tiếp đến ta sẽ tạo 1 HTTP Request Default để thiết lập các thông tin website mà ta thực hiện kiểm tra. Các thông tin cấu hình như sau:
Hình 7.3: thiết lập thông tin website mà ta thực hiện kiểm tra
Website mà ta thực hiện kiểm tra có tên miền là
https://luanvanbeta2.azurewebsites.net/, ta sẽ thực hiện kiểm tra chạy ở port 80.
Để đánh giá tổng quá performance của website, ta sẽ sử dụng dạng report Aggregate Report của Jmeter. Ta sẽ dựa vào các thông tin sau đây để kiểm tra performance của website:
¥! Label: hiển thị tên của từng requests trong test plan.
¥! # Samples: tổng số lần chạy của request. Ta có giá trị của # Samples: # Samples = (Số người dùng) * (Loop Count). Trong phần kiểm tra bên dưới, ta sẽ thực hiện kiểm tra với số lượng người dùng khác nhau, vì các trang khác nhau sẽ có tỉ lệ đáp ứng request cho người dùng khác nhau, ta sử dụng Loop Count bằng 1 và thực hiện kiểm tra nhiều lần.
¥! Average (millisecond): Thời gian phản hồi trung bình (Response Time) của request, tính cho đến lần chạy cuối cùng.
¥! Min(millisecond): thời gian đáp ứng thấp nhất (nhanh nhất) của tất cả các request. ¥! Maximum(millisecond): thời gian đáp ứng cao nhất (lâu nhất) của tất cả các
request.
¥! 90% Line(millisecond): nghĩa là 90% số requests sẽ có thời gian đáp ứng nhỏ hơn giá trị hiển thị trong bảng, 10% số requests còn lại sẽ có thời gian đáp ứng lớn hơn giá trị hiển thị trong bảng.
¥! Tương tự, 95% Line: nghĩa là 95% số request sẽ có thời gian đáp ứng nhỏ hơn giá trị hiển thị trong bảng, 5% số requests còn lại sẽ có thời gian đáp ứng lớn hơn giá trị hiển thị trong bảng.
¥! Median (millisecond): nghĩa là 50% số request sẽ có thời gian đáp ứng nhỏ hơn giá trị hiển thị trong bảng, 50% còn lại sẽ có thời gian đáp ứng lớn hơn giá trị hiển thị trong bảng.
¥! Error %: % số lượng request bị lỗi.
¥! Throughput: thông lượng, biểu thị số lượng request được xử lý trong một đơn vị thời gian(có thể là giây, phút, giờ). Ví dụ: giá trị throughput hiển thị là 24.4/min nghĩa là trong một phút sẽ có khoảng 24 request được xử lý.
¥! Received KB/sec và Sent KB/sec cũng là thông lượng nhưng đo bằng số lượng KB gửi hoặc nhận trong một đơn vị thời gian thay vì đo theo số lượng request trong một đơn vị thời gian.