Devops

Kiểm tra hiệu suất website của bạn với Locust

Locust là một công cụ kiểm thử hiệu suất và khả năng chịu tải mạnh mẽ và linh hoạt, giúp mô phỏng hàng nghìn người dùng để kiểm tra cách ứng dụng web của bạn xử lý tải công việc. Dưới đây là các bước cơ bản để sử dụng Locust:

1. Cài Đặt Locustfile

Nếu bạn chưa cài đặt Locust, bạn có thể cài đặt nó thông qua pip (Python’s package installer). Mở terminal và chạy lệnh sau:

pip install locust

Bạn cần tạo một locustfile.py với một người dùng và một task duy nhất. Dưới đây là một ví dụ với một task GET đơn giản:

from locust import HttpUser, task

class WebsiteUser(HttpUser):
    @task
    def index(self):
        self.client.get("/")

2. Chạy Locust

Mở terminal và chạy Locust với lệnh locust, sau đó truy cập vào http://localhost:8089.

3. Cấu Hình và Bắt Đầu Kiểm Thử

Trong giao diện web của Locust:

  • Nhập "Host" là địa chỉ của website bạn muốn kiểm tra.
  • Nhập "Number of total users to simulate" là số lượng người dùng bạn muốn mô phỏng.
  • Nhập "Spawn rate" là số lượng người dùng bạn muốn thêm vào mỗi giây.

Sau đó, bạn nhấn "Start swarming".

4. Kiểm Tra RPS

Một khi bạn đã bắt đầu kiểm thử, bạn nên giữ mắt vào số "RPS" trên giao diện web của Locust. Số này sẽ cho bạn biết số lượng yêu cầu mỗi giây mà server của bạn đang xử lý.

5. Dừng Kiểm Thử sau 30 Giây

Bạn nên đặt bộ hẹn giờ hoặc giữ theo dõi thời gian, và dừng kiểm thử sau khi 30 giây đã trôi qua bằng cách nhấn vào "Stop" trên giao diện web của Locust.

6. Phân Tích Kết Quả

Sau khi kết thúc kiểm thử, bạn nên xem xét kết quả trên giao diện web hoặc xuất kết quả ra tệp CSV để phân tích sâu hơn.

Lưu ý: Đối với việc kiểm thử chịu tải, bạn nên thực hiện việc này trên môi trường kiểm thử độc lập và không nên sử dụng môi trường sản xuất, trừ khi bạn có kế hoạch và biện pháp bảo vệ phù hợp.


Để chạy Locust như một service trên Ubuntu, bạn có thể tạo một systemd service file. Dưới đây là các bước để thực hiện việc này:

1. Tạo Locustfile

Tạo một locustfile.py với cấu hình mong muốn tại một thư mục cụ thể, ví dụ /home/username/locust.

2. Tạo systemd Service File

Tạo một file mới trong thư mục /etc/systemd/system/, ví dụ locust.service, với nội dung như sau:

[Unit]
Description=Locust Load Testing
After=network.target

[Service]
User=username
WorkingDirectory=/home/username/locust
ExecStart=/usr/local/bin/locust -f /home/username/locust/locustfile.py
Restart=on-failure

[Install]
WantedBy=multi-user.target

Trong file trên:

  • Thay username với tên người dùng thực hiện chạy service.
  • Thay /home/username/locust với thư mục chứa locustfile.py.
  • Thay /usr/local/bin/locust với đường dẫn tới executable Locust nếu nó khác. Bạn có thể tìm đường dẫn này bằng lệnh which locust.

3. Khởi Động và Kích Hoạt Service

Sau khi tạo service file, bạn cần khởi động lại daemon systemd và kích hoạt service Locust. Bạn có thể thực hiện điều này bằng các lệnh sau:

sudo systemctl daemon-reload
sudo systemctl start locust
sudo systemctl enable locust

4. Kiểm Tra Service

Kiểm tra trạng thái của service bằng lệnh sau:

sudo systemctl status locust

Nếu tất cả đều đúng, Locust sẽ chạy như một service và tự động khởi động lại khi hệ thống được khởi động lại, hoặc nếu dịch vụ gặp sự cố.

5. Truy Cập Giao Diện Web của Locust

Khi Locust đang chạy, bạn có thể truy cập giao diện web của Locust tại http://localhost:8089 hoặc địa chỉ IP của máy server tương ứng.

Lưu Ý

  • Đảm bảo rằng port Locust sử dụng (mặc định là 8089) không bị chặn bởi tường lửa của bạn.
  • Nếu bạn muốn chạy Locust trên một port khác, thêm option --web-host--web-port vào lệnh ExecStart trong file service.
  • Đối với việc kiểm thử chịu tải, nên thực hiện việc này trên môi trường kiểm thử và không nên sử dụng môi trường sản xuất.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button
Close