(8.1.1)网站性能测试:pylot

来源:互联网 发布:男士刷酸 知乎 编辑:程序博客网 时间:2024/05/22 12:14

为了能够准确地评估网站服务器对网络流量的承受能力,我们一般会采取模拟网站用户访问,通过不断地增加并发数,延长访问时长,从而最终得出网站Web服务器的性能和负载能力。当然也可以通过Web压力测试,来完善和改进网站代码设计。

在网站服务器压力Web性能测试中有提到常用的三个Web服务压力测试工具:Apache Bench,Webbench,http_load,这也是大家使用得比较多的负载测试软件,只不过,Apache Bench,Webbench,http_load适合于Linux平台上运行。

有没有可以在自己的本地PC的Windows系统运行网站Web压力测试软件呢?今天要说的Pylot,就是一款适合在Windows电脑上运行的服务器压力测试程序,这是一款开源的用以测试 Web Service性能和扩展性的工具,它运行HTTP负载测试,这对于制定容量计划、确定基准点、分析系统瓶颈以及系统调优都非常有用。

在使用过程中,Pylot会发起并发请求(HTTP Requests),检验服务器响应,以及带有相关指标的报表。它通过GUI或者Shell/Console来执行和监视对被测试网站的测试过程,如果配合上numpy、matplotlib就可以自动绘制图表,形象地展示服务器压力测试全过程。

Pylot这款Web压力测试软件的特点是:HTTP和HTTPS(SSL)支持、多线程负载生成器、自动cookie处理、响应验证与正则表达式、执行/监控控制台、实时统计、结果报告和图形、定制的timer、GUI模式、外壳/控制台模式、跨平台。

为了避免网络延时等各方面的原因干扰服务器压力测试过程,一般选择同网络之间的服务器相互测试,更多的压力测试工具和服务器搭建平台有:

  • 1、常用:网站服务器压力Web性能测试:Apache Bench,Webbench,http_load安装使用
  • 2、服务器软件:十款免费Web服务器套件-轻松搭建Apache,PHP,PhpMyAdmin,MySQL
  • 3、反向强制绑定域名:7ghost基于PHP的网站反向绑定域名程序无需.htaccess的URL重写

Pylot网站Web服务器性能和负载压力测试-适用Windows可绘制图表

一、运行Pylot测试前的相关准备工具

1、下载并安装python,这是python下载地址。

下载并安装python

2、设置环境变量。安装好了python后,进入Windows的“环境变量”设置界面。

Pylot设置环境变量

3、在“系统变量”中编辑“Path”。

Pylot编辑Path

4、在“变量值”最后加上 ;C:\Python25 (注:这里python是默认安装在C盘中)

Pylot添加路径在后面

5、设置完成后,执行Windows的运行,输入 python 。

Pylot执行命令

6、如果显示以下内容,则表示python已经成功在你的Windows电脑上安装并运行了。

Pylot成功显示

7、下载并安装numpy,这是numpy下载地址。(32位)

8、下载并安装matplotlib,这是matplotlib下载地址。(32位)

9、注:numpy和matplotlib是可选的,不安装numpy和matplotlib,直接使用python+Pylot也可以进行压力测试,只不过不会自动绘制出图表出来。

10、下载并解压 Pylot ,这是Pylot下载地址。

Pylot进入文件目录

二、Pylot运行测试方法

1、解压Pylot,进入到pylot_1.26文件夹中,打开 testcases.xml,把“http://www.example.com/”改为你要测试的网址,然后保存文件。

Pylot修改网址

2、点击“开始”-“运行”,输入cmd,点击“确定”,打开DOS窗口,进入pylot的目录。

Pylot进入DOS

3、Pylot测试的命令是:python run.py -a 20 -d 10,其中-a表示是20个并发连接,-d表示持续测试时间10秒。

4、运行命令后,你会看到命令执行过程,运行结束后,就可以看到基本的压力测试数据,如请求数、错误数、响应时间、接收数据量等等。(点击放大)

Pylot开始进行压力测试

三、Pylot网站压力测试结果报告解读

1、Pylot运行完成后,会在Pylot程序的目录results中生成一个按照时间命令的文件夹,这里就是详细的Pylot测试报告。

Pylot详细报告

2、在Pylot报告中,Results Summary是概况,总请求数、错误请求数、数据流量,Response Time (secs)是指随着测试完成度增加而变化响应时间,Throughput (req/sec)是指随着测试完成度的增加而显示的每秒请求数。

Pylot报告解读

3、下方有Response Time图表。(点击放大)

Pylot响应时间图表

4、还有Throughput请求数图表。(点击放大)

Pylot请求图表

5、Agent Details就是详细列出每一个客户连接时服务器的响应时间、请求流量等。

Pylot客户连接详情

6、在最后,Pylot还会列出响应的最短时间和最长时间。

Pylot最长响应时长

四、Pylot网站压力测试软件小结

1、Pylot实际上只需要python就可以正常运行,如果不安装numpy和matplotlib,则在Pylot的压力测试报告中不会显示图表,python成功运行的关键设置好Windows环境变量。

Pylot不显示图表

2、经过部落测试,python 2.5、python 1.26、numpy-1.4.1(32位)、matplotlib-1.1.0(32位)在Windows XP中测试通过,其它的版本会出现莫名的不兼容性问题。

0 0