Locust là gì

Performance Testing là gì?

Performance Testing là một trong những nhiều loại kiểm thử nhằm xác định tài năng thỏa mãn nhu cầu tối đa, các điểm tắc nghẽn của một hệ thống, từ kia chỉ dẫn số đông điều chỉnh phù hợp nhằm cải thiện năng suất của khối hệ thống. Trong nội dung bài viết này chúng tôi đang trình làng về Locust - một phép tắc hỗ trợ đến load testing được viết bằng Pybé.

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

Mặc mặc dù ko được thông dụng nlỗi một vài tool khác (nlỗi Jmeter, Gatling, ...) mà lại Locust cũng có tương đối nhiều tính năng khác thú vị khôn cùng cân xứng đến một trong những trường đúng theo.

Locust là gì?

Locust là một user load testing tool được viết bằng python, rất dễ thực hiện. Nó thường xuyên được dùng để làm load testing đến trang web, các hệ thống api, ... với để đưa ra số lượng người tiêu dùng đồng thời mà lại hệ thống hoàn toàn có thể xử lí.

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

Xem thêm: Báo Người Việt Phát Hành Miễn Phí 10,000 Ấn Bản 'Cẩm Nang World Cup 2018'

Locust là event-based, cho nên nó rất có thể cung cấp tạo ra hàng ngàn người dùng mặt khác trên một vật dụng độc nhất. Trái ngược với nhiều áp dụng event-base khác, nó không sđọng dụng call-backs cầm vào nó thực hiện light-weight processes, trải qua gsự kiện.

Ưu điểm:

Kịch bản chạy thử được viết bởi Pynhỏ phù hợp cho những pro pythuôn (dẫu vậy là điểm yếu cho người không thành thạo python), hơn thế nữa góp dễ ợt quản lí kịch phiên bản test với gitDễ dàng thiết lập môi trường xung quanh phân tán, năng lực không ngừng mở rộng tốt - cung cấp đưa lập hàng trăm ngàn userCó giao diện website, một số biểu đồ gia dụng đơn giản dễ dàng giúp thấy công dụng testingNhờ hiệ tượng event-based buộc phải Locust cần sử dụng không nhiều tài nguim rộng một trong những tool khác (nhỏng Jmeter, Gatling). Có thể dễ dãi giả lập hàng trăm user bên trên một máy vi tính.Và đặc biệt quan trọng bởi vì kịch phiên bản được viết Pythuôn chũm bởi vì cần sử dụng giao diện nlỗi những tool khác phải chúng ta cũng có thể Hackable giả dụ pro Pykhông lớn.

Nhược điểm:

Cần biết pyeo hẹp.Không tất cả hiệ tượng recording nlỗi một số tool (Jmeter,Gatling...).Phần những thống kê report hiệu quả testing còn đơn giản.Mặc định chỉ cung cấp giao thức http/https tuy nhiên chúng ta cũng rất có thể không ngừng mở rộng ra các giao thức không giống nhưng yên cầu buộc phải các tởm nghiệp thiết kế Python

Thao khảo thêm bài bác đố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 kết nối HTTP trên một thiết bị vẫn mở 1 file mới (technically a tệp tin descriptor). Hệ quản lý hoàn toàn có thể số lượng giới hạn con số tệp tin hoàn toàn có thể mở. Nếu số lượng số lượng giới hạn này rẻ rộng con số người dùng mang lập trong khi thử nghiệm sẽ xảy ra lỗi. Vì cụ bọn họ nên cấu hình lại con số số lượng giới hạn này (tùy ở trong vào từng hệ quản lý điều hành sẽ có những bí quyết kiểm soát và điều chỉnh khác nhau).

Xem thêm: Tổng Nito Là Gì - Có Tác Hại Ra Sao

Sử dụng 1-1 giản

Tạo một tệp tin locusttệp tin.py đơn giản dễ dàng (các tsi số Cửa Hàng chúng tôi sẽ phân tích và lý giải 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_mix = UserBehavior min_wait = 5000 max_wait = 9000```hoặc áp dụng bí quyết 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 sử dụng thương hiệu file không giống locusttệp tin.py ta có thể sử dụng tsi mê số -f

locust -f locust_files/my_locust_tệp tin.py --host=http://example.com

Ngay sau khoản thời gian chạy script ta tầm nã cập: http://127.0.0.1:8089

Tại trên đây họ vẫn khẳng định con số user trả lập, tiến hành chạy load testing và xem công dụng monitoring

Hình minh họa:

*
*

Còn tiếp ...

Phần sau Shop chúng tôi vẫn khuyên bảo cách viết kịch bản testing, hy vọng các bạn liên tục quan sát và theo dõi.

Tđam 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


Chuyên mục: Blogs