`
100Continue
  • 浏览: 159709 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
ABSender是一款改自ApacheBench的轻量级http压力/性能测试工具,除了具备所有ApacheBench的所有功能及性能展现之外,它修复了一处数组越界导致的Segmentation Fault的BUG并支持自定义请求的Path路径、Header头、Cookie值和Post数据的功能。所有这些请求的自定义信息,除了能够从文件中读出并随机组合之外,还支持使用范围模板设置请求信息。 【作者】 公远/陈震(gongyuan.cz$taobao.com/ 100continue$sina.com) 【源码下载】 github地址:https://github.com/100Co ...
需求: 在淘宝干了这么长时间的高性能web服务器测试及其相关Web服务测试之后,心里总会想,Web服务测试与传统软件测试有什么不同吗?Web测试的难点在哪里呢?对于这些难点有啥解决技术不?在查阅相关资料之后,做个总结吧。   介绍: Web服务与传统软件的不同点: 1. Web服务的应用环境与其开发环境存在较大的不同: Web服务的应用环境存在极大的不确定性,如访问的用户类型、并发用户数量、Web服务调用的装载模式和访问方式等; 对传统软件相对来说,其应用环境更可控一些; 2. 自动化测试方法应用程度: Web服务测试主要基于服务接口进行设计和实现,因此可以更多的采用自动化测 ...
需求: 接上一篇博客:送给佳佳同学的礼物:测试流程及并行测试介绍 , 本次主要介绍测试用例设计,虽然偏理论,但是测试还是需要理论支持的。 本博文的大部分内容来自@淘郑萼 新人培训ppt —— 测试用例设计,感谢郑萼MM对新人的培养。   测试用例设计的几个要点如下:   1. 原则: 通常应该避免依赖先前测试用例的输出; tips:如果测试用例直接相互依赖,那么当出现测试无法通过时,将很难去定位问题并查找原因。因此,最好是能够保证一个测试用例针对一个功能测试点;   从这一原则还可以衍生出两点注意点: a. 测试数据准备: 如在测试数据库查询操作时,就必须先在数据库中准备相应 ...
需求: 我带的实习生佳佳同学即将离开公司去追寻自己的梦想了,想着该送给她什么样的礼物呢? 后来想想,送给她几个培训课程吧。希望能成为她成长的一份助推力,也感谢她在公司这4个月来的工作;   首先为她介绍的是 ...
需求: 近期刚刚完成Nginx 版本的 TFS (Taobao FileSystem) Restful 接口测试工作,借此契机总结分享以下3点: 1. Restufl简介;2. TFS Restful接口设计思路; 3. TFS Restful接口开发过程中容易出现的bug分析(重点介绍) 解决方案: 1. Restful简介: Restful的一个思想就是充分利用http的特性,将资源独立出来,并对资源可以有各种操作。比如http标准的get/put/delete/post/header/option等。   一般来说,get/put/delete是等幂的操作,也就是说, ...
需求: 在将自己开发的服务器平台测试工具(gulu)提供给布可MM使用的时候发现,所有继承于接口的实现类的实现方法均报错,提示需要must override a superclass method。 之后发现,是每个实现类上的@Override所引发的,只需注释掉@Override就不会报错了。这是为什么呢?   解决方案: 后来在与宗洛同学、饮霜同学探讨之后才发现,是JDK Compliance版本引发的血案。将JDK Complier compliance level设置为1.6的时候,自动生成的接口实现类会默认的添加@Override。而1.6版本之前则不会自动生成,且不允许在接口 ...
需求: 淘宝的Tengine服务器在1.0.1版本的时候对Include指令进行了增强:   Syntax: include  file | * Default: no   使用此指令,可以包含任何你想要包含的配置文件,当配置文件include多个文件时按照字母或数字顺序进行包含。 如 ...
需求: 最近12306网站宕机事故频发,一直想研究下12306的架构实现是咋样的?为啥淘宝能够撑得住这么高的PV,而12306不行呢?两者之间的差距在哪里呢?   解决方案: 在此转载一篇博文,介绍12306网站性能技术的特点。如果想了解淘宝主页架构设计的,可以参见这篇博文: 你刚才在淘宝上买了一件东西【技术普及贴】(转载) 下面是12306网站性能技术的介绍(转自http://coolshell.cn/articles/6470.html):   12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促, ...
   你发现快要过年了,于是想给你的女朋友买一件毛衣,你打开了www.taobao.com。这时你的浏览器首先查询DNS服务器,将www.taobao.com转换成ip地址。不过首先你会发现,你在不同的地区或者不同的网络(电信、联通、移动)的情况下,转换后的ip地址很可能是不一样的,这首先涉及到负载均衡的第一步,通过DNS解析域名时将你的访问分配到不同的入口,同时尽可能保证你所访问的入口是所有入口中可能较快的一个(这和后文的CDN不一样)。     你通过这个入口成功的访问了www.taobao.com的实际的入口ip地址。这时你产生了一个PV,即Page View,页面访问。每日每个网站的 ...
需求: 在使用原版Apache AB进行压力/性能测试的过程中,当完成请求次数超过2千2百万的时候,Apache AB在统计“Sorted on total connect times”的时候,会出现由于数组越界而引起的Segmentation fault的问题。   解决方案: 1. 引发血案的原因: 首先,在32位机器上,int数据类型的最大值为2147483647。而Apache AB源码在统计“Sorted on total connect times”的时候,采用的代码如下所示:     /* Sorted on total connect times */ ...
需求: 修改Apache AB 工具,使其能够从文件中读取压力/性能测试的 url、header、cookie信息,并采用这些信息进行随机组合访问的压力和性能测试。   解决方案: 1. 如何从文件中读取url、header、cookie信息,并保证该操作不影响Apache AB的性能及数据统计? 首先,我所考虑的方法是,在ab读取设置参数的时候,如果配置为需要从文件中读取url、header、cookie等信息,则立即将这些信息读入到内存中备用,这样就能在Apache AB开始压测前完成所有的数据准备工作。     /* edit by gongyuan.cz */ ...
按时间设置进行压力/性能测试的详细说明,可参见我在2011年12月25日写的一篇介绍博文:     性能/压力测试工具Apache ab修改:按时间进行性能/压力测试   在此就不在累赘了。 谢谢。
  一. 修改功能点: a. 时间设置进行压力/性能测试 —— 详细说明参加后续Part2 b. 从文件中读取压力/性能测试的 url、header、cookie信息 —— 详细说明参加后续Part3 c. 修改原版Apache AB中的bug,由于变量越界导致的Segmentation fault —— 详细说明参加后续Part4   二. 与Apache AB原版对比测试报告: a. 短连接性能测试对比,误差范围在两次测试波动范围之内,因此修改版AB与原版AB的性能数据基本一致。
需求: 在进行Nginx测试的过程中,经常需要对远程服务器执行一些shell脚本、应用程序或系统命令。一般简单的方法是将测试代码放到所需的远程服务器上来运行,或者使用staf框架来协助远程执行。 但我个人认为,staf框架比较适合用于执行sudo权限的命令,而且他对服务器环境有一些额外的要求,比如远程服务器和本机均必须安装staf,而且执行输出结果也不是很清晰。 那有没有轻量级的远程执行方法,并且能将执行结果完整的输出呢?在这里要感谢我以前的同事:一环同学,是他提供了这个宝贵的经验,采用JAVA源码提供的工具: ch.ethz.ssh2   解决方案: 首先介绍ch.ethz.ssh ...
需求: 在对Nginx module 采用Aapche ab进行性能和压力测试的过程中发现: 1. 对于不同的并发线程,相同的请求数,性能/压测所需要的时间变化比较大; 2. 对于高并发的情况下,千万级别的请求数,持续时间仅仅是几百秒,不仅 ...
Global site tag (gtag.js) - Google Analytics