最近写了几个测试脚本,希望要观察使用PUT方式上传文件和使用POST方式上传文件,两者效率的差别。

分别是:

put_client.php          模拟客户端发送PUT请求

put_server.php          接收客户端的PUT请求,并保存文件

post_client.php          模拟客户端发送的POST请求

post_server.php          接收客户端的POST请求,并保存文件

/Files/cocowool/code.zip

然后利用ab(ab是apache自带的一个性能测试工具)对客户端文件发起请求,来测试处理所消耗的时间。具体的测试场景设计了以下四组

1、使用PUT请求,改变并发的请求数。其中请求数设置为1000,并发数分别设置为2、5、10、30、50

2、使用POST请求,改变并发的请求数。其中请求数设置为1000,并发数分别设置为2、5、10、30、50

3、使用PUT请求,改变发送的文件大小。其中请求数设置为1000,并发数设置为30,文件大小分别为100、150、200

4、使用POST请求,改变发送文件大小。其中请求数设置为1000,并发数设置为30,文件大小分别为100、150、200。

每次实验前,关闭系统的其他程序,清空数据文件夹内的数据,重新启动Lamp。

实验环境:Mac MC700、Apache2.2.6、PHP5.3.1

实验的结果:

测试结果:

1、不同并发状况下PUT的处理情况测试

结论:并发越大处理时间越长,个别请求因为负载问题造成处理时间超长。

2、不同并发状况下POST的处理情况测试

结论:并发越大处理时间越长.

3、PUT方式和POST方式对比。

结论:PUT方式优于POST方式,在并发较少情况下,这种差别不太明显,但是随着并发数的加大,差别开始显现。

4、根据上述结果,选定c=30时,测试不同文件尺寸下两中方式的差异。以下是100k、150k、200k文件大小时的结果图。

以上结果只是在本地环境测试,相信如果是服务器环境,PUT和POST方式的差异会更明显。

参考资料:

1、ab性能测试与Gnuplot绘制

2、httpperf+AutoBench+Gnuplot构建Web Server压力测试系统

利用Apache ab以及GNUPlot来进行Web测试相关推荐

  1. 利用 apache ab 测试服务器性能

    安装步骤:https://blog.csdn.net/ahaaaaa/article/details/51514175 在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bin ...

  2. Apache AB 性能测试

    上篇介绍了jmeter性能测试工具,本文介绍一个更加简单的测试工具 Apache AB性能测试; 还是使用上文的测试链接http://localhost:8111/index/hello?name=w ...

  3. 性能/压力测试工具Apache ab修改:按时间进行性能/压力测试

    需求: 在对Nginx module 采用Aapche ab进行性能和压力测试的过程中发现: 1. 对于不同的并发线程,相同的请求数,性能/压测所需要的时间变化比较大: 2. 对于高并发的情况下,千万 ...

  4. apache ab压力测试

    2019独角兽企业重金招聘Python工程师标准>>> ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对摸一个URL地址进行访问.它的测试目标是基于URL的,因此它既 ...

  5. apache ab使用详解

    apache性能测试工具ab使用详解 站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常 ...

  6. ab(Apache Bench)命令详解以及压力测试模拟

    2019独角兽企业重金招聘Python工程师标准>>> 简介 ApacheBench 是 Apache服务器自带的一个web压力测试工具,简称ab.ab又是一个命令行工具,对发起负载 ...

  7. apache ab test使用 单独安装ab和htpasswd

    apache ab test使用 apache ab test使用 单独安装ab和htpasswd 转载自: http://www.cnblogs.com/super-d2/p/3831155.htm ...

  8. apache ab压力测试学习

    转载自  https://segmentfault.com/a/1190000012765485 1.介绍 网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能 ...

  9. 利用IDEA部署过的Tomcat开发Web Service

    (1)使用idea开发一个Web Service: (2)开发一个客户端来调用该Web Service并展现出相应j结果: (3)编程调用网络上提供的天气预报Web Service并显示结果. (1) ...

最新文章

  1. Java 程序员如何使用 Shiro 框架
  2. iphone连上wifi却上不了网_必收藏为什么手机信号满格,却上不了网,4招为你解决...
  3. 快速排序python实现
  4. 19款绚丽实用的jQuery/CSS3侧边栏菜单
  5. 机器学习基础(二十三)—— 概念、定义
  6. php图像销毁_php对图像的各种处理函数代码小结
  7. windows,安装yafu,RSA应用
  8. GB35114---基于pjsip协议库开发问题
  9. 优秀信息系统项目经理应该具备的技能和素质
  10. html颜色混搭的插件,Color by Fardos,网页取色配色插件,查找近似颜色,提供渐变配色...
  11. 浏览器大全推荐丨这26款浏览器你用过几个?
  12. 使用 关键字来创建python自定义函数_python 自定义函数
  13. ImportError: DLL load failed while importing win32file
  14. 用C语言写迎风飘扬的旗帜,驻村旗帜迎风飘扬
  15. 【学习笔记】HttpRunner自动化测试框架入门
  16. MySQL数据库学习笔记(2)
  17. VUE-CLI/VUE-ROUTER
  18. 有效的预防电脑辐射的方法
  19. reduce的方法详解
  20. 1073 多选题常见计分法 (20 分)(注意测试点4)

热门文章

  1. 隔空测量电压:电场强度测试仪-FMX-004
  2. 第16届东北赛区线上比赛斯赛点时间安排+直播链接
  3. 第一次使用考试宝进行作业练习
  4. 2021年春季学期-信号与系统-第五次作业参考答案-第四小题
  5. 人工智能产业政策与行业应用场景-备课资料
  6. 全国大学生智能车竞赛申请沁恒RISC-V MCU样品说明
  7. mysql 关联 update_关于SQL UPDATE关联更新
  8. azure devops中文显示乱码_【Azure DevOps系列】Azure DevOps生成代码覆盖率
  9. python概率密度函数_Python中概率密度函数的快速卷积
  10. mysql show作用_MySQL show的用法