基于python27+pylot的网站并发压力测试

简介: windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot。python是一个安装软件,用来运行python程序,而pylot则是python的一个功能插件,作用是进行网站压力测试。

windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot。python是一个安装软件,用来运行python程序,而pylot则是python的一个功能插件,作用是进行网站压力测试。

首先看张效果图

img_ba43397fdb3a77dd86ad5802b48714a5.png
40个客户端并发操作网站的响应时间和吞吐量图形

一、安装python2.7

如果你已经成功安装了python,那么可以忽略这步。否则,请首先正确安装python,确保能运行正常。安装教程请移步度娘或者Google,这里不做介绍。

二、下载pylot

pylot官网已失效,下载地址见python之Pylot插件下载

三、使用pylot插件

1.解压下载好的pylot,无需配置安装

2.配置testcases.xml:在pylot_1.26文件夹里,会看到一个testcases.xml的文件,我们需要更改一下这个文件,用记事本打开它,把需要测试的网页地址添加进去。

img_636b1450afec58127828595faba9b267.png
修改配置testcases.xml

上面代码中,把“http://www.example.com/”改为你要测试的网址,然后保存文件。

3.对网站进行压力测试(这里我使用的是本人工作中的项目,或者也可以拿x度做示例操作)

打开dos窗口(点击“开始”-“运行”,输入cmd,点击“确定”),进入刚才解压存放pylot的目录中,输入如下指令:d:/python/python27/python run.py -a 20 -d 10  (我的python是装在D盘的python下),这时,会看到python在cmd窗口的运行界面

img_3d521e1b8b076b599b504bed60670c66.png
python指令运行过程

看到“results/results_2018.10.17_10.36.09/results.html”类似以上信息,就表示测试结束了。

4、查看测试结果

测试结束后,会在pylot的文件目录里生成一个“results”的文件夹,还生成一个results.html的文件,这个文件记录了详细的测试数据。我们可以进入results的目录,打开这个文件,看看我的测试结果:

img_d84a0b9c641378202faeca39fb115b99.png
report

四、测试结果图形化显示

要想测试结果图形化显示,必须按照如下两个插件

1.下载安装numpy

img_733b2a9bab4eb809de4d8db87cf6f177.png
安装numpy

2.下载安装matplotlib

img_4d19cbf8dfc246c50038b6a6043c3d2f.png
安装matplotlib

意思两个python插件安装好后,重新输入执行如下指令:d:/python/python27/python run.py -a 20 -d 10  (我的python是装在D盘的python下)

便可在results目录下查看到response_time_graph和throughput_graph两张截图

img_85c50967b2cbcf75388298d0089767ae.png
response_time_graph和throughput_graph

3.可视化图形显示

img_a02b9b0dbfd76900de5e06a5e2d3ddbc.png
report_result
目录
相关文章
|
7天前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
22 3
|
7天前
|
Python
解锁Python并发新世界:线程与进程的并行艺术,让你的应用性能翻倍!
【7月更文挑战第9天】并发编程**是同时执行多个任务的技术,提升程序效率。Python的**threading**模块支持多线程,适合IO密集型任务,但受GIL限制。**multiprocessing**模块允许多进程并行,绕过GIL,适用于CPU密集型任务。例如,计算平方和,多线程版本使用`threading`分割工作并同步结果;多进程版本利用`multiprocessing.Pool`分块计算再合并。正确选择能优化应用性能。
|
17天前
|
测试技术 Go Python
在python中测试应用
【6月更文挑战第29天】本文介绍Python的unittest是内置的单元测试框架,适合线性控制流的代码测试。并举实例说明,如何组织测试代码,如何构造脚手架和测试套件。
29 6
在python中测试应用
|
12天前
|
测试技术 Python
|
2天前
|
测试技术 Python
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
17 6
|
5天前
|
API 数据处理 Python
探秘Python并发新世界:asyncio库,让你的代码并发更优雅!
【7月更文挑战第11天】Python的asyncio库简化了单线程并发编程,利用协程和事件循环实现异步操作。async def定义异步函数,await挂起协程等待IO完成。例如,fetch_data模拟网络请求,main函数并发执行多个任务。asyncio.gather收集结果,Semaphore限制并发数,保证资源管理。asyncio提供高效优雅的并发解决方案。
20 4
|
8天前
|
数据处理 调度 Python
Python并发编程实战指南:深入理解线程(threading)与进程(multiprocessing)的奥秘,打造高效并发应用!
【7月更文挑战第8天】Python并发编程探索:使用`threading`模块创建线程处理任务,虽受限于GIL,适合I/O密集型工作。而`multiprocessing`模块通过进程实现多核利用,适用于CPU密集型任务。通过实例展示了线程和进程的创建与同步,强调了根据任务类型选择合适并发模型的重要性。
|
6天前
|
API 开发者 Python
Python并发新纪元:asyncio库,让你的代码异步飞行,效率翻倍!
【7月更文挑战第10天】Python的asyncio库推动了异步编程革命,简化并发任务,提高I/O效率。通过事件循环和协程,asyncio允许程序在等待如HTTP请求时执行其他任务。例如,使用aiohttp并发获取多个网站数据,显著提升效率。随着asyncio生态成熟,它成为高效编程的必备工具,赋能开发者实现代码的“异步飞行”。
15 2
|
6天前
|
数据库 数据安全/隐私保护 C++
Python并发编程实战:线程(threading)VS进程(multiprocessing),谁才是并发之王?
【7月更文挑战第10天】Python并发对比:线程轻量级,适合I/O密集型任务,但受GIL限制;进程绕过GIL,擅CPU密集型,但通信成本高。选择取决于应用场景,线程利于数据共享,进程利于多核利用。并发无“王者”,灵活运用方为上策。
|
6天前
|
数据采集 搜索推荐 算法
Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐
Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐