Locust là gì

      9

Performance Testing là gì?

Performance Testing là một trong loại kiểm thử nhằm xác định khả năng đáp ứng tối đa, những điểm ùn tắc của một hệ thống, tự đó chuyển ra gần như điều chỉnh phù hợp để nâng cao hiệu suất của hệ thống. Trong bài viết này shop chúng tôi sẽ giới thiệu về Locust - một công cụ hỗ trợ cho load testing được viết bởi Python.

Bạn đang xem: Locust là gì

Mặc cho dù không được thông dụng như một số trong những tool không giống (như Jmeter, Gatling, ...) tuy vậy Locust cũng có không ít tính năng khác thú vị rất cân xứng cho một số trường hợp.

Locust là gì?

Locust là 1 trong những user load testing tool được viết bằng python, rất giản đơn sử dụng. Nó thường được dùng để load testing mang đến website, các hệ thống api, ... Và để tìm thấy số lượng người tiêu dùng đồng thời nhưng mà hệ thống có thể xử lí.

Ý tưởng của chính nó là dùng một đội nhóm các Locust nhằm giả lập những requests cho tới website. Các hành vi của người dùng do chúng ta định nghĩa bởi python. Quá trình load testing được quan sát và theo dõi real-time bởi UI.

Xem thêm: Toàn Tập Hướng Dẫn Chơi Free Fire Giỏi Nhất Trên Điện Thoại, Hướng Dẫn Free Fire Cho Người Mới Bắt Đầu

Locust là event-based, vì thế nó có thể hỗ trợ tạo nên hàng ngàn người dùng đồng thời bên trên một trang bị duy nhất. Trái ngược với rất nhiều ứng dụng event-base khác, nó không sứ dụng call-backs nỗ lực vào nó thực hiện light-weight processes, trải qua gevent.

Ưu điểm:

Kịch bạn dạng test được viết bằng Python cân xứng cho các pro python (nhưng là nhược điểm cho tất cả những người không thuần thục python), hơn thế nữa giúp dễ dàng quản lí kịch bạn dạng test với gitDễ dàng setup môi trường phân tán, tài năng mở rộng giỏi - cung cấp giả lập hàng trăm ngàn nghìn userCó đồ họa web, một số biểu đồ dễ dàng và đơn giản để xem hiệu quả testingNhờ bề ngoài event-based đề nghị Locust cần sử dụng ít khoáng sản hơn một trong những tool khác (như Jmeter, Gatling). Hoàn toàn có thể dễ dàng trả lập hàng trăm user bên trên một laptop.Và đặc trưng vì kịch bản được viết Python thay vì chưng dùng đồ họa như những tool không giống nên chúng ta cũng có thể Hackable ví như pro Python.

Nhược điểm:

Cần biết python.Không bao gồm cơ chế recording như một số tool (Jmeter,Gatling...).Phần thống kê báo cáo kết quả testing còn 1-1 giản.Mặc định chỉ cung ứng giao thức http/https mặc dù nhiên họ cũng rất có thể mở rộng ra các giao thức khác nhưng đòi hỏi cần những kinh nghiệp thiết kế Python

Thao khảo thêm bài đối chiếu Locust cùng với Jmeter:

Jmeter vs locust what lớn use when

Cài đặt

pip install locustiolocust --helpChú ý:

Mỗi liên kết HTTP bên trên một máy sẽ mở một file new (technically a file descriptor). Hệ điều hành có thể giới hạn con số file hoàn toàn có thể mở. Nếu số lượng giới hạn này thấp hơn số lượng người tiêu dùng giả lập trong những lúc test sẽ xẩy ra lỗi. Vì thế chúng ta nên cấu hình lại số lượng giới hạn này (tùy trực thuộc vào từng hệ điều hành sẽ có được các cách kiểm soát và điều chỉnh khác nhau).

Sử dụng solo giản

Tạo một tệp tin locustfile.py đơn giản (các tham số chúng tôi sẽ giải thích sau)

from locust import HttpLocust, TaskSetdef login(l): l.client.post("/login", "username":"ellen_key", "password":"education")def index(l): l.client.get("/")def profile(l): l.client.get("/profile")class UserBehavior(TaskSet): tasks = index: 2, profile: 1 def on_start(self): login(self)class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 5000 max_wait = 9000```hoặc sử dụng cách sau tương đương:

from locust import HttpLocust, TaskSet, taskclass UserBehavior(TaskSet): def on_start(self): """ on_start is called when a Locust start before any task is scheduled """ self.login() def login(self): self.client.post("/login", "username":"ellen_key", "password":"education")
task(1) def profile(self): self.client.get("/profile")class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 5000 max_wait = 9000Start Locust

locust --host=http://example.com

Nếu thực hiện tên tệp tin khác locustfile.py ta có thể sử dụng thông số -f

locust -f locust_files/my_locust_file.py --host=http://example.com

Ngay sau khi chạy script ta truy tìm cập: http://127.0.0.1:8089

Tại đây họ sẽ xác định số lượng user đưa lập, tiến hành chạy load testing và xem kết quả monitoring

Hình minh họa:

*
*

Còn tiếp ...

Phần sau chúng tôi sẽ phía dẫn giải pháp viết kịch bản testing, mong chúng ta tiếp tục theo dõi.

Tham khảo:

https://docs.locust.io/en/latest/quickstart.htmlhttps://www.blazemeter.com/blog/jmeter-vs-locust-which-one-should-you-choosehttps://www.blazemeter.com/blog/locust-assertions-a-complete-user-manual

tăng like fanpage | LOTO188 CITY