Locust là gì

Performance Testing là gì?

Performance Testing là một trong những nhiều loại kiểm thử nhằm mục đích xác định năng lực đáp ứng nhu cầu về tối nhiều, những điểm tắc nghẽn của một hệ thống, tự kia giới thiệu những điều chỉnh hợp lí nhằm nâng cao năng suất của khối hệ thống. Trong bài viết này Cửa Hàng chúng tôi đã ra mắt về Locust - một nguyên lý cung ứng mang lại load testing được viết bằng Python thả.

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

Mặc mặc dù ko được thông dụng như một số tool khác (nhỏng Jmeter, Gatling, ...) dẫu vậy Locust cũng có rất nhiều nhân kiệt khmãnh thú vị cực kỳ tương xứng cho một vài ngôi trường phù hợp.

Locust là gì?

Locust là một trong user load testing tool được viết bằng pythuôn, rất dễ áp dụng. Nó thường được dùng để làm load testing mang đến website, những hệ thống api, ... và nhằm tìm ra con số người dùng đôi khi mà khối hệ thống rất có thể xử lý.

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

Xem thêm: Cho Mình Hỏi Toolbox Meeting Là Gì ? Nghĩa Của Từ Toolbox Trong Tiếng Việt

Locust là event-based, cho nên vì vậy nó có thể hỗ trợ tạo nên hàng ngàn người dùng bên cạnh đó trên một lắp thêm tốt nhất. Trái ngược với khá nhiều áp dụng event-base không giống, nó ko sứ đọng dụng call-backs rứa vào nó thực hiện light-weight processes, thông qua gsự kiện.

Ưu điểm:

Kịch bạn dạng kiểm tra được viết bởi Pynhỏ cân xứng cho các pro pybé nhỏ (mà lại là yếu điểm cho tất cả những người ko thạo python), hơn thế nữa góp tiện lợi cai quản lí kịch bản thử nghiệm với gitDễ dàng cài đặt môi trường xung quanh phân tán, kĩ năng không ngừng mở rộng tốt - hỗ trợ giả lập hàng trăm nghìn userCó bối cảnh web, một vài biểu vật dụng đơn giản dễ dàng để thấy hiệu quả testingNhờ cách thức event-based yêu cầu Locust cần sử dụng không nhiều tài nguyên ổn hơn một số trong những tool khác (nhỏng Jmeter, Gatling). Có thể thuận tiện đưa lập hàng ngàn user bên trên một laptop.Và đặc trưng vày kịch bạn dạng được viết Python nỗ lực vì cần sử dụng bối cảnh nlỗi các tool khác yêu cầu bạn cũng có thể Hackable trường hợp pro Pydong dỏng.

Nhược điểm:

Cần biết pyeo hẹp.Không gồm cách thức recording nlỗi một vài tool (Jmeter,Gatling...).Phần thống kê lại report hiệu quả testing còn đơn giản dễ dàng.Mặc định chỉ cung cấp giao thức http/https mặc dù bọn họ cũng có thể mở rộng ra các giao thức không giống tuy vậy đòi hỏi bắt buộc các khiếp nghiệp xây dựng Python

Thao khảo thêm bài so sánh Locust cùng với Jmeter:

Jmeter vs locust what to lớn use when

Cài đặt

pip install locustiolocust --helpCrúc ý:

Mỗi liên kết HTTP.. bên trên một thứ đang mtại 1 file bắt đầu (technically a tệp tin descriptor). Hệ quản lý điều hành có thể giới hạn số lượng tệp tin rất có thể msinh sống. Nếu con số số lượng giới hạn này phải chăng rộng con số người dùng trả lập trong khi kiểm tra đang xẩy ra lỗi. Vì cầm cố chúng ta buộc phải thông số kỹ thuật lại con số giới hạn này (tùy trực thuộc vào cụ thể từng hệ điều hành sẽ có được những bí quyết điều chỉnh không giống nhau).

Sử dụng đối chọi giản

Tạo một file locustfile.py dễ dàng (những tmê say số Shop chúng tôi vẫn 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_phối = UserBehavior min_wait = 5000 max_wait = 9000```hoặc thực hiện biện pháp 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_phối = UserBehavior min_wait = 5000 max_wait = 9000Start Locust

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

Nếu áp dụng tên file không giống locustfile.py ta rất có thể áp dụng tđắm đuối 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 phía trên họ vẫn xác định con số user mang lập, triển khai chạy load testing và xem công dụng monitoring

Hình minch họa:

*
*

Còn tiếp ...

Phần sau công ty chúng tôi đã lí giải bí quyết viết kịch bản testing, ước ao chúng ta tiếp tục theo dõi và quan sát.

Tsi mê 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