- 浏览: 159709 次
- 性别:
- 来自: 广州
最新评论
-
echohfut:
请问tfs nginx性能测试如何阿?比如20k小文件,8核配 ...
TFS Restful 接口测试总结分享 -
wzwahl36:
简单的接口测试:http://www.atool.org/ht ...
web服务器测试工具Gulu——HTTP接口测试工具 -
free_to_fly:
前辈以前在高性能web服务器组是做开发OR测试开发的?一直觉得 ...
获奖 和 转变 -
parrotking:
太晚才看到了,太赞了
HTTP压力/性能测试工具ABSender -
100Continue:
<div class="quote_title ...
获奖 和 转变
文章列表
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. 对于高并发的情况下,千万级别的请求数,持续时间仅仅是几百秒,不仅 ...