利用Apache ab以及GNUPlot来进行Web测试

简介: 最近写了几个测试脚本,希望要观察使用PUT方式上传文件和使用POST方式上传文件,两者效率的差别。 分别是:      put_client.php          模拟客户端发送PUT请求      put_server.

最近写了几个测试脚本,希望要观察使用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压力测试系统

相关文章
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
490 1
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
292 1
|
缓存 前端开发 Java
打造未来兼容的Web应用:Apache Wicket引领响应式设计的热潮
【9月更文挑战第4天】在软件开发领域,构建响应式Web应用至关重要。Apache Wicket作为一个强大的Java框架,支持响应式设计,确保应用在不同设备上均有出色体验。本文通过示例代码介绍使用Wicket的最佳实践,涵盖页面与组件模型、CSS媒体查询及自定义标记处理器的应用。同时,文章强调了优化加载时间、增强交互性和提升可访问性的重要性,帮助开发者打造高性能且美观的Web应用。
308 3
|
Java API Apache
从零到英雄的蜕变:如何用Apache Wicket打造你的第一个Web应用——不仅是教程,更是编程之旅的启航
【9月更文挑战第4天】学习Apache Wicket这一开源Java Web应用框架是一段激动人心的旅程。本文将指导你通过Maven搭建环境,并创建首个“Hello, World!”应用。从配置`pom.xml`到实现`HelloWorldApplication`类,再到`web.xml`的设置,一步步教你构建与部署简单网页。适合初学者快速上手,体验其简洁API与强大组件化设计的魅力。
598 1
|
消息中间件 监控 Kafka
Apache Kafka 成为处理实时数据流的关键组件。Kafka Manager 提供了一个简洁的 Web 界面
随着大数据技术的发展,Apache Kafka 成为处理实时数据流的关键组件。Kafka Manager 提供了一个简洁的 Web 界面,方便管理和监控 Kafka 集群。本文详细介绍了 Kafka Manager 的部署步骤和基本使用方法,包括配置文件的修改、启动命令、API 示例代码等,帮助你快速上手并有效管理 Kafka 集群。
347 0
|
存储 大数据 Apache
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
323 0
|
Java Spring Apache
Spring Boot邂逅Apache Wicket:一次意想不到的完美邂逅,竟让Web开发变得如此简单?
【8月更文挑战第31天】Apache Wicket与Spring Boot的集成提供了近乎无缝的开发体验。Wicket以其简洁的API和强大的组件化设计著称,而Spring Boot则以开箱即用的便捷性赢得开发者青睐。本文将指导你如何在Spring Boot项目中引入Wicket,通过简单的步骤完成集成配置。首先,创建一个新的Spring Boot项目并在`pom.xml`中添加Wicket相关依赖。
598 0
|
Apache 开发者 Java
Apache Wicket揭秘:如何巧妙利用模型与表单机制,实现Web应用高效开发?
【8月更文挑战第31天】本文深入探讨了Apache Wicket的模型与表单处理机制。Wicket作为一个组件化的Java Web框架,提供了多种模型实现,如CompoundPropertyModel等,充当组件与数据间的桥梁。文章通过示例介绍了模型创建及使用方法,并详细讲解了表单组件、提交处理及验证机制,帮助开发者更好地理解如何利用Wicket构建高效、易维护的Web应用程序。
477 0
|
Java 前端开发 Apache
Apache Wicket与Spring MVC等Java Web框架大PK,究竟谁才是你的最佳拍档?点击揭秘!
【8月更文挑战第31天】在Java Web开发领域,众多框架各具特色。Apache Wicket以组件化开发和易用性脱颖而出,提高了代码的可维护性和可读性。相比之下,Spring MVC拥有强大的生态系统,但学习曲线较陡;JSF与Java EE紧密集成,但在性能和灵活性上略逊一筹;Struts2虽成熟,但在RESTful API支持上不足。选择框架时还需考虑社区支持和文档完善程度。希望本文能帮助开发者找到最适合自己的框架。
388 0
|
前端开发 JavaScript 开发者
革命性的飞跃:Apache Wicket新特性大揭秘,让你的Web开发之旅如虎添翼!
【8月更文挑战第31天】Apache Wicket作为一个成熟的Java Web框架,持续进化以适应现代Web开发需求。本文介绍Wicket的最新特性,包括响应式布局支持、组件化与模块化开发、异步请求处理、增强的表形处理以及与现代JavaScript框架的集成。通过具体代码示例展示如何利用这些特性构建高效、灵活且用户友好的Web应用程序。
436 0

推荐镜像

更多