您当前的位置:首页 > 计算机 > 编程开发 > Python

postman批量测试 + flask多进程与多线程的区别

时间:01-16来源:作者:点击数:

postman批量测试

使用postman进行高压测试,查完官方文档后确定他是串行运行的,等待一个post有响应结果后在发送下一个post请求,但我觉得还可以了,主要是测试连续请求会不会顺序打乱,程序崩溃。

  1. 先新建一个集合,new->collection,给集合命名。
    在这里插入图片描述
  2. 点击 。。。然后add request,给请求命名。
    在这里插入图片描述
  3. 点击 。。。然后add request,给请求命名。
  4. 若要发送多次请求,可以点击ctrl + d进行复制
    在这里插入图片描述
  5. 点击运行
    在这里插入图片描述
  6. 更新你的参数
在这里插入图片描述
  1. 发送后查看结果
    在这里插入图片描述

flask多进程与多线程的区别

Flask 默认是单进程,单线程阻塞的任务模式,在项目上线的时候可以通过nginx+gunicorn 的方式部署flask任务。

但是在开发的过程中如果想通过延迟的方式测试高并发怎么实现呢,其实非常简单,

app.run()中可以接受两个参数,分别是threaded和processes,用于开启线程支持和进程支持。

1.threaded : 多线程支持,默认为False,即不开启多线程;

2.processes:进程数量,默认为1.

开启方式:

if __name__ == '__main__':
	app.run(threaded=True)
	# app.run(processes=True)

注意:多进程或多线程只能选择一个,不能同时开启。

processes=num 使用报错了,ValueError: cannot have a multithreaded and multi process server,将num改为True就可以使用flask框架的多进程了。

多进程

进程其实是资源的分配的单位,包括代码、内存、CPU等等,多进程类似程序的多开,比如qq的多开。

下图解释了多进程工作的原理,在主进程下,子进程1和子进程2分别复制了主进程的代码以及资源,而子进程1则只运行test1这个函数,子进程2则只运行test2这个函数,进程之间的全局变量互不影响,对资源的开销比较大。当主进程结束后,所有的子进程全部结束,而子进程之间互不影响

在这里插入图片描述

多线程

在一个进程中我们也可以使用多任务,这就是线程,线程其实是操作系统资源调度的单位。多线程可以共享全局变量。

多线程并不会复制主进程的代码和资源,而是共享全局变量,相比多进程来说,资源开销更加小。在同一时间,子线程1和子线程2同时运行,实现多任务,而他们会共享全局变量。

例如设置一个全局变量,子线程让他+1后打印,另一个子线程打印也是+1后的数值。

多线程和多进程的选择使用

如果你对自己的硬件资源很自信,那么就选择多进程。因为多进程占用资源比较多,因为其全局变量不共享,内存中存储多个相同变量。

但如果你的代码逻辑很复杂,一些变量产生了问题,那么就不要用多线程了,宁愿使用多一些资源也不要产生故障。

flask 后台运行

nohup python run.py >log.txt 2>&1 &
在这里插入图片描述

这样将.py文件更换成我们自己的就可以了。这里仅仅是后台运行,但是我们如果希望确保重启和服务器变动之后也保持运行,则需要添加到开机启动项中。

如果我们在服务器中运行某些脚本且设定需要一直运行状态,但是如果因为我们自己或者服务器不稳定导致重启,会导致工具无法运行。比如老蒋昨天在运行Python脚本的时候,用nohup虽然可以后台自动运行,但是如果服务器被重启又导致页面无法访问。

Linux查看并杀死被占用的端口

yum install -y lsof //安装lsof

sudo apt-get install lsof    //安装lsof

sudo lsof -i:端口号      //查找对应的进程号

sudo kill -9 进程号      //杀死对应的进程

flask好像在高并发上效果不太好,容易崩。建议使用gunicorn,并发大一点。

清华源 + pip下载速度加快

pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple

Linux查看占用GPU的进程

sudo fuser -v /dev/nvidia*

或者

pip install gpustat -i https://pypi.tuna.tsinghua.edu.cn/simple

然后输入gpustat

在这里插入图片描述
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门