Performance Testing là gì?
Performance Testing là 1 trong những nhiều loại kiểm demo nhằm mục đích xác định tài năng đáp ứng buổi tối đa, các điểm tắc nghẽn của một hệ thống, từ bỏ đó giới thiệu hầu hết điều chỉnh phải chăng để 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 công ty chúng tôi đang reviews về Locust - một cách thức cung ứng cho load testing được viết bằng Pykhông lớn.
Bạn đang xem: Locust là gì
Mặc dù không được phổ cập nhỏng một số tool không giống (nhỏng Jmeter, Gatling, ...) tuy thế Locust cũng có không ít tính năng khác thú vị vô cùng tương xứng mang đến một vài ngôi trường vừa lòng.
Locust là gì?
Locust là 1 trong những user load testing tool được viết bằng pykhông lớn, rất dễ áp dụng. Nó thường xuyên được dùng để làm load testing đến trang web, những hệ thống api, ... với nhằm đưa ra số lượng người dùng đôi khi mà lại khối hệ thống có thể up load.
Ý tưởng của nó là sử dụng một tổ những Locust để mang lập các requests cho tới trang web. Các hành động của người tiêu dùng vày chúng ta tư tưởng bởi pythanh mảnh. Quá trình load testing được quan sát và theo dõi real-time bằng UI.
Xem thêm: " What The Heck Nghĩa Là Gì ?
Locust là event-based, vì vậy nó có thể cung cấp tạo thành hàng chục ngàn người dùng đôi khi bên trên một vật dụng độc nhất. Trái ngược với rất nhiều áp dụng event-base khác, nó không sđọng dụng call-backs nạm vào nó sử dụng light-weight processes, thông qua gsự kiện.
Ưu điểm:
Kịch bản test được viết bằng Pybé tương xứng cho các pro pyhạn hẹp (tuy thế là yếu điểm cho những người không thuần thục python), hơn thế nữa giúp dễ ợt quản lí kịch phiên bản kiểm tra với gitDễ dàng setup môi trường thiên nhiên phân tán, khả năng không ngừng mở rộng giỏi - cung cấp trả lập hàng nghìn nghìn userCó hình ảnh website, một trong những biểu đồ dùng đơn giản và dễ dàng để thấy tác dụng testingNhờ chế độ event-based đề xuất Locust dùng không nhiều tài nguyên rộng một vài tool khác (nlỗi Jmeter, Gatling). cũng có thể tiện lợi trả lập hàng trăm ngàn user trên một laptop.Và đặc trưng bởi kịch bạn dạng được viết Pynhỏ bé chũm vị dùng đồ họa nhỏng những tool khác buộc phải bạn cũng có thể Hackable ví như pro Pythanh mảnh.Nhược điểm:
Cần biết pyhạn hẹp.Không bao gồm hiệ tượng recording nhỏng một số tool (Jmeter,Gatling...).Phần những thống kê báo cáo công dụng testing còn dễ dàng.Mặc định chỉ cung cấp giao thức http/https mặc dù họ cũng có thể không ngừng mở rộng ra những giao thức khác nhưng yên cầu nên những kinh nghiệp lập trình PythonThao khảo thêm bài bác đối chiếu Locust cùng với Jmeter:
Jmeter vs locust what to lớn use when
Cài đặt
pip install locustiolocust --helpChụ ý:
Mỗi liên kết HTTP bên trên một sản phẩm đang mtại 1 tệp tin mới (technically a file descriptor). Hệ quản lý hoàn toàn có thể giới hạn số lượng tệp tin rất có thể mngơi nghỉ. Nếu con số giới hạn này tốt rộng số lượng người tiêu dùng trả lập trong những lúc chạy thử sẽ xẩy ra lỗi. Vì nuốm chúng ta buộc phải thông số kỹ thuật lại số lượng số lượng giới hạn này (tùy nằm trong vào cụ thể từng hệ quản lý điều hành sẽ có các bí quyết điều chỉnh khác nhau).
Sử dụng đối kháng giản
Tạo một tệp tin locustfile.py đơn giản dễ dàng (các tsi số công ty chúng tôi đã 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 phương 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ác locusttệp tin.py ta có thể sử dụng tsay đắm số -f
locust -f locust_files/my_locust_file.py --host=http://example.com
Ngay sau khi chạy script ta tầm nã cập: http://127.0.0.1:8089
Tại trên đây bọn họ vẫn xác định số lượng user mang lập, tiến hành chạy load testing cùng coi hiệu quả monitoring
Hình minh họa:


Còn tiếp ...
Phần sau chúng tôi vẫn hướng dẫn cách viết kịch phiên bản testing, ao ước chúng ta liên tiếp theo dõi.
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