一、Locust分布式部署
在使用Locust进行压测时,我们往往需要使用分布式的方式来进行压测,因为分布式可以很好的降低宿主机创造并发用户的压力,而且也能够更好的满足我们创造大量并发用户的需求。那么实现分布式压测时我们一般都会考虑到多机压测,例如使用Jmeter、LR时,在进行分布式压测时都需要多台机器进行部署才可以实现,我个人猜想是由于Jmeter与LR都是基于线程来创建并发用户的,一个并发用户就是一个线程,所以需要实现分布式的话只能多台机器一同协作完成。
而Locust则不同,Locust是基于协程实现并发用户的,协程是比线程更小的单位,也称为子线程,在一个线程中可以运行多个协程。所以基于协程的Locust,在进行分布式部署时,不仅可以进行多机压测部署,而且还可以在一台宿主机中完成,两者的部署方式相同,不过本篇博客主要介绍在本地宿主机如何结合Python进行分布式部署,下面具体介绍给大家。
二、Locust本地宿主机部署步骤
1、先写好一个基于locust的locust运行文件
首先我们需要通过python+locust写出程序需要运行的.py文件,这是运行locust的基础,具体如何写请百度
import os
from locust import HttpLocust,TaskSet,task
#定义任务类
class UserTask001(TaskSet):
@task #申明需要执行的任务
def get_index(self):
self.client.get('/') #client是requests的对象
@task
def get_imag