性能测试开源小工具——http_load介绍
性能测试开源小工具——http_load介绍
性能测试开源小工具——http_load介绍
http_load简介
基于linux平台的一种性能测工具。以并行复用的方式运行,用以测试web服务器的吞吐量与负载,测试web页面的性能。
下载地址:http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
优点
1.基于命令行,简单、易于上手
2.小巧轻便,解压缩后不到100k
3.开源,免费
缺点
1.仅适用于web页面的性能测试,不适用于访问数据库
2.测试结果分析有限
3.平台依赖linux
类似软件
1.webbench
模拟多人同时访问,每个人持续一定时间,查看产生有效链接数,测试网站的负载能力。最多可以模拟3万个并发连接。
2.ab(ApacheBench)
apache自带的一款功能强大的测试工具,主要是显示apache每秒可以处理多少个请求。
安装
1.下载http_load
2.执行:
tar xzvf http_load-12mar2006.tar.gz
make
make install
注:执行make前,需要先安装gcc编辑器
运行命令行
1. http_load -parallel 10 -fetches 1000 urls.txt
2. http_load -rate 5 -seconds 300 urls.txt
可缩写为:
1. http_load -p 10 -f 1000 urls.txt
2. http_load -r 5 -s 300 urls.txt
参数介绍
-p 并发访问进程数
-f 总的访问次数
-r 每秒的访问频率
-s 总的访问时间
通常参数组合:-p –f;-r -s
urls.txt 是你要访问的网址名,参数可以是单个的网址也可以是包含网址的文件。
通常使用为包含网址的文件,文件格式是每行一个url,url最好超过50个,测试效果比较好。
结果分析
100 fetches, 10 max parallel, 5.12044e+06 bytes, in 2.86141 seconds
说明在上面的测试中运行了100个请求,最大的并发进程数是10,总计传输的数据是5.12044e+06 bytes,运行的时间是2.86141秒
关注点:总请求数、最大并发进程数
51204.4 mean bytes/connection
说明每一连接平均传输的数据量5.12044e+6/100=51204.4
34.9478 fetches/sec, 1.78948e+06 bytes/sec
说明每秒的响应请求为34.9478,每秒传递的数据为1.78948e+06 bytes/sec
关注点:每秒的响应请求数(对应QTP中的每秒响应用户数)
msecs/connect: 0.51409 mean, 1.404 max, 0.132 min
说明每连接的平均响应时间是0.51409 msecs,最大的响应时间1.404 msecs,最小的响应时间0.132 msecs
关注点:每个连接的平均响应时间(对应QTP中的response time,每连接响应用户时间 )
HTTP response codes: code 200 – 100
说明打开响应页面的类型及个数
服务器返回状态代码:
200 ---表示请求成功。
3XX ----重定向类
403、404 ---客户端错误类(服务器没有找到与请求URI相符的资源。)
500 ---服务器错误类(内部服务器错误)
等等…
关注点:是否有403、404、500错误产生
性能测试开源小工具——http_load介绍的更多相关文章
- 开源小工具 酷狗、网易音乐缓存文件转mp3工具
发布一个开源小工具,支持将酷狗和网易云音乐的缓存文件转码为MP3文件. 以前写过kgtemp文件转mp3工具,正好当前又有网易云音乐缓存文件需求,因此就在原来小工具的基础上做了一点修改,增加了对网易云 ...
- 访问github太慢?我写了一个开源小工具一键变快
前言 GitHub应该是广大开发者最常去的站点,这里面有大量的优秀项目,是广大开发者寻找资源,交友学习的好地方.尤其是前段时间GitHub公布了一项代码存档计划--Arctic Code Vault, ...
- 上班从换一张桌面壁纸开始——开源小工具Bing每日壁纸
发布一个自用的开源小软件,Bing每日壁纸,使用c# winform开发.该小软件可以自动获取Bing的精美图片设置为壁纸,并且支持随机切换历史壁纸,查看壁纸故事. 功能特性 自动获取Bing最新图片 ...
- python自学笔记之开源小工具:SanicDB介绍
SanicDB 是为 Python的异步 Web 框架 Sanic 方便操作MySQL而开发的工具,是对 aiomysql.Pool 的轻量级封装.Sanic 是异步IO的Web框架,同时用异步IO读 ...
- C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)
关于代码覆盖率统计工具,Linux平台下,gcc内置支持gcov,通过编译时加参数选项,进行代码插桩,从而实现代码覆盖率.在Windows平台下,早在几年前,我还没找到特别好用又开源的覆盖率工具,所以 ...
- 开源小工具 - swagger API访问代码生成器(js/typescript)
现在流行前后端分离,后端通常会使用swagger生成api文档,提供给前端的同事来调用,一般前端是查看这个文档,根据文档说明编写调用代码.其实,swagger已经提供了足够多的描述信息,我们可以基于s ...
- .Net Core开源小工具mssql2mysql,从mssql生成mysql脚本
Microsoft SQL Server to MySQL 这个工具用于从MSSQL生成MySQL脚本,生成的脚本包含表结构和数据 安装 这是一个.Net Core的具具,所以需要先安装.net co ...
- 超级牛X的免费开源小工具之tldr
github介绍:http://tldr-pages.github.io/ github源码:https://github.com/tldr-pages/tldr 什么是tldr? 新命令行世界?还是 ...
- Android 性能测试小工具 Emmagee
Emmagee 是一个性能测试小工具 用来监控指定被测应用在使用过程中占用机器的CPU, 内存,流量资源的性能小工具 Emmagee 介绍 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的 ...
随机推荐
- HDU 2544 最短
链接:http://acm.hdu.edu.cn/showproblem.php? pid=2544 解析: 首先数据量为V<=100 那么这里使用不论什么基础的最短路的算法都不会超时! 常见数 ...
- linux scp传文件
一.输入 scp 201207.tar.gz root@192.1001.122:/backup 二.输入密码:abc123 注解: scp 201207.tar.gz :将要传输的文件 root : ...
- Servlet配置对象、上下文对象、多线程问题
一.Servlet配置对象(ServletConfig):Servlet初始化时,容器调用其init(ServletConfig)方法,传递该对象. 1.获得对象方法: (1).直接使用getServ ...
- hdu 4081 Qin Shi Huang's National Road System (次小生成树的变形)
题目:Qin Shi Huang's National Road System Qin Shi Huang's National Road System Time Limit: 2000/1000 M ...
- JavaScript编程:使用DOM操作样式表
6.使用DOM操作样式表: 操纵元素的Style样式属性: background-color:style.backgroundColor color:style.col ...
- 点击轮播图片左右button,实现轮播效果
点击左右button.实现图片轮播效果.js代码例如以下: $(function () { var index = 1; var pPage = 1; var $v_citemss = $(" ...
- android布局margin和padding差异!
事实上从使用的时候就能够差别开来. android:padding android:layout_margin padding是在本控件级别的,而margin是在layout级别的. 最好拿有背景的控 ...
- python httpConnection详解
模块urllib,urllib2,httplib的区别 httplib实现了http和https的客户端协议,但是在python中,模块urllib和urllib2对httplib进行了更上层的封装. ...
- 重操JS旧业第一弹:Script与JS加载
不管js被包装成什么样子,最终交给浏览器执行的js都是原生的,都离不开原生js的原理. Script标签纸html中用来加载js的标签,我们知道js可以是来自外部,本地,或者内部一段代码,在这里只讨论 ...
- 【deep learning学习笔记】注释yusugomori的LR代码 --- 模型测试
测试部分代码: void test_lr() { srand(0); double learning_rate = 0.1; double n_epochs = 500; int train_N = ...
