Distributed Testing trong Jmeter
Distributed Testing là một loại kiểm thử sử dụng multiple hệ thống để thực hiện Stress Testing. Distributed Testing được áp dụng để kiểm thử các trang web và ứng dụng server khi chúng hoạt động cùng lúc với nhiều máy clients.
Cấu hình Master - Slave trong Distributed Testing
Distributes testing sử dụng mô hình client-server như hình dưới đây:
- Master: hệ thống chạy ở chế độ JMeter GUI, điều khiển từng Slave.
- Slave: hệ thống chạy ở chế độ JMeter-server, nhận lệnh từ Master và gửi yêu cầu đến máy chủ đang được kiểm thử.
- Target: máy chủ web đang kiểm thử, nhận yêu cầu từ Slave.
Remote Test Example
Điều kiện tiền đề:
- Tường lửa đã được tắt. Trong một số trường hợp vẫn có thể bị tường lửa chặn. Bạn nên vô hiệu hóa tường lửa của Window hoặc Linux.
- Tất cả các máy phải cùng một dải mạng con. Nếu không cùng một dải mạng con, các máy sẽ không nhìn thấy nhau.
- Sử dụng cùng một version của JMeter để tránh các lỗi hay các vấn đề không lường trước.
Dưới đây là quá trình thực hiện:
Bài viết này được đăng tại [free tuts .net]
Bước 1. Cấu hình hệ thống
Thiết lập hệ thống Slave, đi đến thư mục jmeter / bin và run file "jmeter-server.bat".
Giả sử một máy Slave có địa chỉ IP: 192.168.0.10. Trên windows, bạn sẽ thấy một cửa sổ xuất hiện như hình sau:
Trên hệ thống Master, đi đến thư mục / bin và sửa file jmeter.properites, thêm máy Slave có IP như bên dưới:
Bước 2. Chạy thử nghiệm
Trên máy Master, chạy JMeter GUI và mở test plan.
Bấm Run trên thanh menu; chọn Remote start-> chọn địa chỉ IP của máy Slave
Bước 3. Khắc phục sự cố
Nếu bạn không thể chạy thử nghiệm trên và thấy lỗi như dưới đây, chỉ cần chọn quyền chủ sở hữu của máy Slave khi chạy file JMeter-server.bat.
Vô hiệu hóa Tường lửa trên cả máy Master và máy Slave để khắc phục lỗi này.
Hạn chế
Có một số hạn chế cơ bản trong distributed testing:
- Server và tất cả các clients phải nằm trên cùng một mạng con.
- Distributed testing yêu cầu target server có sức xử lý cao. Target server có thể dễ dàng bị quá tải trong trường hợp nhận được quá nhiều yêu khi thực hiện kiểm thử distributed JMeter.
- JMeter chỉ có thể xử lý một số lượng hạn chế của các threads (100- 300 threads).
- Kiểm thử Distributed JMeter rất phức tạp, rất khó khăn cho người mới bắt đầu.