Performance Testing là gì?

Performance Testing là một trong một số loại kiểm demo nhằm mục tiêu xác định kỹ năng thỏa mãn nhu cầu buổi tối đa, những điểm ùn tắc của một khối hệ thống, từ đó chỉ dẫn phần đông điều chỉnh hợp lý nhằm nâng cao hiệu suất của hệ thống. Trong bài viết này Cửa Hàng chúng tôi vẫn trình làng về Locust - một chế độ cung cấp đến load testing được viết bởi Pykhông lớn.

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

Mặc cho dù ko được thông dụng nlỗi một số tool không giống (như Jmeter, Gatling, ...) tuy nhiên Locust cũng có tương đối nhiều nhân kiệt khmãnh thú vị hết sức cân xứng mang lại một trong những trường hòa hợp.

Locust là gì?

Locust là 1 trong những user load testing tool được viết bởi pyeo hẹp, rất dễ dàng áp dụng. Nó thường được dùng làm load testing đến website, những hệ thống api, ... với nhằm tìm ra số lượng người tiêu dùng đôi khi cơ mà hệ thống có thể up date.

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

Xem thêm: Cách Giảm Lag Khi Chơi Game Trên Android, Ping Chơi Game Di Động: Công Cụ Chống Lag

Locust là event-based, cho nên vì vậy nó hoàn toàn có thể cung ứng tạo ra hàng chục ngàn người dùng mặt khác bên 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 cầm cố vào nó sử dụng light-weight processes, thông qua gevent.

Ưu điểm:

Kịch phiên bản demo được viết bằng Python tương xứng cho các pro pydong dỏng (tuy vậy là điểm yếu kém cho người không thành thạo python), không chỉ có thế giúp thuận lợi quản lí kịch phiên bản chạy thử cùng với gitDễ dàng cài đặt môi trường xung quanh phân tán, năng lực mở rộng tốt - hỗ trợ giả lập hàng ngàn nghìn userCó đồ họa web, một trong những biểu thứ đơn giản giúp xem hiệu quả testingNhờ lý lẽ event-based bắt buộc Locust sử dụng ít tài ngulặng hơn một trong những tool khác (nhỏng Jmeter, Gatling). Có thể dễ dãi đưa lập hàng nghìn user trên một máy vi tính.Và quan trọng do kịch bản được viết Pynhỏ cố gắng vì chưng sử dụng hình ảnh nlỗi các tool khác buộc phải chúng ta có thể Hackable nếu pro Pyhạn hẹp.

Nhược điểm:

Cần biết pykhông lớn.Không tất cả chế độ recording như một số tool (Jmeter,Gatling...).Phần thống kê báo cáo tác dụng testing còn dễ dàng và đơn giản.Mặc định chỉ cung ứng giao thức http/https tuy vậy họ cũng hoàn toàn có thể mở rộng ra các giao thức khác nhưng đòi hỏi yêu cầu nhiều khiếp nghiệp lập trình Python

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

Jmeter vs locust what to lớn use when

Cài đặt

pip install locustiolocust --helpChụ ý:

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

Sử dụng solo giản

Tạo một file locustfile.py đơn giản dễ dàng (những tyêu thích số Cửa Hàng chúng tôi đã 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_set = UserBehavior min_wait = 5000 max_wait = 9000```hoặc sử dụng 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_mix = UserBehavior min_wait = 5000 max_wait = 9000Start Locust

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

Nếu sử dụng tên tệp tin không giống locusttệp tin.py ta hoàn toàn có thể áp dụng tsi 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 truy tìm cập: http://127.0.0.1:8089

Tại trên đây bọn họ sẽ xác minh con số user giả lập, thực hiện chạy load testing và xem công dụng monitoring

Hình minc họa:

*
*

Còn tiếp ...

Phần sau Shop chúng tôi sẽ lý giải biện pháp viết kịch bản testing, mong các bạn tiếp tục quan sát và theo dõi.

Tsay đắ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