`
shutiao2008
  • 浏览: 212034 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

http_load学习心得

阅读更多
测试网站每秒所能承受的平均访问量(吞吐量)
http_load -parallel 5 -fetches 1000 urls.txt
这段命令行是同时使用5个进程,随机访问urls.txt中的网址列表,总共访问1000次。运行之后的结果:
1000 fetches, 5 max parallel, 6e+06 bytes, in 58.1026 seconds
6000 mean bytes/connection
17.2109 fetches/sec, 103266 bytes/sec
msecs/connect: 0.403263 mean, 68.603 max, 0.194 min
msecs/first-response: 284.133 mean, 5410.13 max, 55.735 min
HTTP response codes:
code 200 — 1000
从上面的运行结果来看,目标网站仅仅能够承受每秒17次访问,不够强壮。
测试网站是否能承受住预期的访问压力(
http_load -rate 2 -seconds 300 urls.txt
在300秒内保持一定的频率访问目标url。
注:
urls.txt保存要访问的url列表,每行一个
不要测试上线之后的网站,压垮了可不好玩
例如:
1.http_load -parallel 5 -fetches 1000 urls.txt
2.http_load -rate 2 -seconds 300 urls.txt
3. http_load -p 30 -s 60   urllist.txt
4. http_load -parallel 50 -s 10 urls.txt
这段命令行是同时使用50个进程,随机访问urls.txt中的网址列表,总共访问10秒。

参数说明:
-parallel 简写-p :含义是并发的用户进程数。
-fetches 简写-f :含义是总计的访问次数
-rate    简写-r :含义是每秒的访问频率
-seconds简写-s :含义是总计的访问时间
参数是可以自由组合的,参数之间的选择并没有什么限制。
urls.txt保存要访问的url列表,
url 是你要访问的网址名,参数可以是单个的网址也可以是包含网址的文件。 文件格式是每行一个URL,URL最好超过50-100个测试效果比较好. 文件格式如下
http://iceskysl.1sters.com/?action=show&id=336
http://iceskysl.1sters.com/?action=show&id=335
http://iceskysl.1sters.com/?action=show&id=332
http://iceskysl.1sters.com/?action=show&id=32
参数了解了,我们来运行一条命令, 来看看它的返回结果
命令:% ./http_load -rate 5 -seconds 10 urls
命令解释: 执行一个持续时间为10秒的测试,每秒的访问频率为5次。
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
5916 mean bytes/connection
4.89274 fetches/sec, 28945.5 bytes/sec (重要性能指标吞吐量)
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min(重要指标响应时间)
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
HTTP response codes:
code 200 — 49
结果分析:
1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒
2.5916 mean bytes/connection
说明每一连接平均传输的数据量289884/49=5916
3.4.89274 fetches/sec, 28945.5 bytes/sec (吞吐量: 单位时间完成请求数)
说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec
这个值得是根据 49 fetches / 10.0148 seconds 秒计算出来的
4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min (响应时间: 每次请求需要的时间, 平均, 最大, 最小)
说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs
5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
6、HTTP response codes: code 200 — 49
说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
特殊说明:这里,我们一般会关注到的指标是fetches/sec、msecs/connect
他们分别对应的常用性能指标参数
Qpt-每秒响应用户数和response time,每连接响应用户时间。
测试的结果主要也是看这两个值。
当 然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、memory进行分析,才能得出结论,另外,测试结果中主要的指标是 fetches/sec 这个选项,即服务器每秒能够响应的查询次数,用这个指标来衡量性能。似乎比 apache的ab准确率要高一些,也更有说服力一些。

http_load测试参数比较
./http_load -parallel 200 -seconds 10 urls
按照固定时间来结束测试,这样可以比较相同时间内被测服务器的响应速度.
./http_load -parallel 200 -fetches 1000 urls
按照固定申请数来测试,这样可以比较相同访问量下返回的响应速度.
虽然两者都可以获取到服务器的响应速度
但是使用fetches更容易让被测服务器收到压力
由于seconds控制测试时间,很有可能在短时间内测试客户端并没有发起足够数量的请求
而服务端在收到足够压力之前,测试就已经结束了.
有一些情况,诸如内存泄漏以及资源回收不利或者对后面的响应速度越来越慢等情况
在这种测试条件下不容易发生
而使用fetchs,能够让客户端保证确定请求数的全部处理.
使用时间作为控制参数
会由于测试人员不够耐心而人为将seconds参数设置过小
导致测试结果失去意义
所以,最后建议使用fetches作为测试参数.用以作为基准进行比较
分享到:
评论

相关推荐

    vb.net学习心得

    在`page_load()`事件中,可以预设文本框的初始值,如`Me.TextBox8.Attributes("value") = "000"`,这在初始化表单或重置界面状态时非常有用。 ### 5. 输入框边框颜色动态变化 通过添加`onFocus`和`onBlur`事件,...

    wordpress学习心得

    【标题】:“WordPress学习心得” 在深入探讨WordPress之前,我们首先要理解它是什么。WordPress是一个开源的内容管理系统(CMS),主要用于创建网站和博客。它的强大在于其灵活性、可扩展性和丰富的插件及主题库,...

    webView 使用指南及使用心得总结

    以下是对WebView使用指南及使用心得的详细总结: 一、WebView的基本使用 1. 添加依赖:在AndroidManifest.xml中添加Internet权限,以确保WebView能够访问网络。 ```xml ``` 2. 在布局文件中添加WebView: ```xml...

    ASP.NET学习过程中总结的一些技巧

    理解每个阶段的功能,有助于在正确的时间点执行代码,比如在Page_Load事件中处理用户输入,而在PreRender事件中做最后的数据绑定。 4. **母版页(Master Pages)与站点导航** 母版页可以统一网站的布局和样式,使得...

    LR培训心得——LR详细整个过程的详细介绍

    ### LR培训心得——LR详细整个过程的详细介绍 #### 一、准备培训环境 在开始LoadRunner(以下简称LR)的学习之前,首先要确保培训环境的搭建。这包括安装LR脚本编译器VUGen以及测试实例网站。 - **安装VUGen**:...

    HyperLink 控件控制图片宽度高度的几种方法

    在`Page_Load`事件中,我们可以动态地设置`Text`属性: ```csharp protected void Page_Load(object sender, EventArgs e) { HyperLink3.Text = "<img border='0' src='...

    scheme_自学教程.pdf

    虽然教程中未明确提及,参与Scheme相关的在线论坛、社区或项目可以加速学习进程,获取实际经验并与其他开发者交流心得。 综上所述,《Scheme自学教程》旨在为有一定编程基础的初学者提供一个快速入门的平台,通过...

    k8s笔记,课件,资料,心得

    通过学习这些知识点,你可以更好地理解k8s的工作原理,有效地管理和运维分布式应用程序。"k8s笔记"和"资料.zip"、"笔记.zip"等文件将提供更深入的细节,包括实战案例、配置示例以及常见问题的解决方案,帮助你成为一...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。首先有两点是需要肯定的:  第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会;  ...

    关于struts实验时的临时总结

    通过实际操作过程中遇到的问题及其解决办法,帮助其他开发者避免同样的错误,并提供高效的学习路径。 #### 知识点详细解析 ##### 总结1:Struts2 onsubmit 无法返回JavaScript进行验证 **问题描述**:在Struts2...

    收集的JQuery资料分享

    在"14天学习"这个文件中,可能包含了从初级到进阶的jQuery学习路径,包括基本语法、选择器、DOM操作、事件绑定等内容。 【jQuery选择器】 jQuery的选择器是其强大功能的一部分,允许开发者快速准确地选取页面上的...

    gentoo linux 的安装

    本文档旨在分享作者过去三年来学习 Gentoo Linux 的心得与技巧,帮助读者顺利进行 Gentoo Linux 的安装。 #### 二、准备工作 在开始安装之前,需要准备以下资源: 1. **下载 32 位 stage 文件**:从官方或镜像...

    18130041518+张麒实验报告3+Xenu’s+Link+Sleuth链接测试工具.docx

    3. **学习测试结果的解读与分析:**能够根据测试报告中的数据来判断网站链接的质量,并采取相应措施修复存在问题的链接。 #### 二、实验环境配置 本实验使用的主要工具为Xenu's Link Sleuth。此工具是一款免费的...

Global site tag (gtag.js) - Google Analytics