Load Testing với Database bằng Apache JMeter.
Ở bài trước mình đã hướng dẫn load testing đơn giản với 1 trang web.
Ở bài chúng ta tiếp tục thực hiện load testing với database.
– Mình sẽ thực hiện trên hệ quản trị cơ sở dữ liệu MySQL (nếu bạn chưa cài đặt MySQL thì có thể xem hướng dẫn tại đây: https://stackjava.com/install/mysql-la-gi-cai-dat-mysql-mysql-workbench-tren-window.html)
Đầu tiên mình sẽ tạo 1 database ‘demo-jmeter’ để test:
Tạo bảng user_info với các thông tin như bên dưới.
Phần id mình sẽ chọn là AI (tự động tăng)
Cấu hình Apache JMeter để connect tới MySQL
Ở đây kết nối tới MySQL nên bạn cần copy thư viện mysql jdbc vào folder lib của Apache JMeter:
(Bạn có thể download thư viện tại đây)
Tạo test plan trên Apache JMeter
Tạo cấu hình kết nối tới MySQL
Nhập variable name (bắt buộc): ở đây mình để là name1
Nhập URL kết nối tới database cần test: jdbc:mysql://localhost:3306/demo-jmeter
Chọn JDBC driver class là: com.jdbc.Drive.class (chọn tùy theo loại hệ quản trị cơ sở dữ liệu bạn dùng)
Nhập username và password của MySQL (ở đây của mình là root/admin1234)
Tạo request tới MySQL (tương tự như HTTP Request đã dùng ở bài trước)
Nhập variable Name (bắt buộc và phải giống với variable Name ở JDBC connection configuration bên trên)
Nhập câu SQL cần truy vấn tới database.
Lưu ý: chọn query type đúng phải kiểu câu lệnh SQL, ở đây câu lệnh của mình là INSERT nên mình để query type là Update Statement
Thêm listener hiển thị kết quả:
Nếu bạn chưa lưu test plan thì nó sẽ yêu cầu lúc bạn chạy (có thể chạy mà không cần lưu cũng được), ở đây mình lưu lại với tên là demo-jmeter để lần sau dùng lại.
Kết quả:
Ví dụ với câu lệnh SELECT (Query Type = Select Statement)
Kết quả:
Okay Done!
Phần tiếp theo mình sẽ hướng dẫn load test cho các tình huống phức tạp hơn như login, thực hiện load test cho 1 loạt các hành động liên tiếp (ví dụ: truy cập -> đăng nhập -> đăng xuất)…
References: