资讯专栏INFORMATION COLUMN

测试 | 正确使用 ab

mikyou / 325人阅读

摘要:准备工作环境简述最近在做一些测试工作,对于测试我是同时使用和的,但是在测试的过程中,如果并发量稍微大些,就会报错,估计大家都很熟悉。

1 准备工作

环境: ubuntu

简述
最近在做一些测试工作,对于测试我是同时使用 wrkab 的,但是 ab 在测试的过程中,如果并发量稍微大些,就会报错,估计大家都很熟悉。

apr_socket_recv: Connection reset by peer (104)

当然肯定还会伴随其他问题,找谷姐发现要修改源码,重新编译安装,这里也只是记录下简单的安装流程。

使用过程中其他问题:

socket: Too many open files (24) 修改连接数即可

2 安装 ab

如果你的机器上没有安装过 ab,请先安装 ab,执行下面命令

apt-get install apache2-utils

如果不预先安装,直接进行下一步,会出现下面错误,等着自我懵逼吧

error while loading shared libraries: libapr-1.so.0: cannot open shared object file: Error 40
3 修改源码重新编译安装

下载源码以及依赖包

3.1 编译安装 apr-1.5.2
tar -jxvf apr-1.5.2.tar.bz2
cd apr-1.5.2
./configure
make && make install
ln -s /usr/local/apr/lib/pkgconfig/apr-1.pc /usr/local/lib/pkgconfig/apr-1.pc 

如果出现 pkgconfig: not found,则执行下面命令

apt-get install pkg-config
3.2 编译安装 apr-util-1.5.4
tar -jxvf apr-util-1.5.4.tar.bz2
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr
make && make install
3.2 编译安装 ab

修改 ab.c

tar -jxvf ab-standalone-0.1.tar.bz2
cd ab-standalone

然后 vi ab.c 跳到 1392 行,修改代码

} else {
    //apr_err("apr_socket_recv", status); 注释掉这行
    //添加下面代码
    bad++;
    close_connection(c);
    return;
}

然后执行下面命令

make apr-skeleton && make ab
cp ab apr-skeleton /usr/local/bin/
4 小结

安装完成之后,使用起来还是蛮爽的,对于测试,还是多使用几组工具一起测试。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9796.html

相关文章

  • Android单元测试 - 如何开始?

    摘要:写单元测试时,应该把这些依赖隔离,让每个单元保持独立。以上的各种原因,都会影响单元测试的结果。在单元测试的基础上,将相关模块组合成为子系统或系统进行测试,称为集成测试。可以看到,单元测试速度比集成测试,也叫测试要快,并且开发成本也是最低。 showImg(/img/remote/1460000006811144); 原文链接:http://www.jianshu.com/p/bc996...

    Developer 评论0 收藏0
  • Android单元测试 - 如何开始?

    摘要:写单元测试时,应该把这些依赖隔离,让每个单元保持独立。以上的各种原因,都会影响单元测试的结果。在单元测试的基础上,将相关模块组合成为子系统或系统进行测试,称为集成测试。可以看到,单元测试速度比集成测试,也叫测试要快,并且开发成本也是最低。 showImg(https://segmentfault.com/img/remote/1460000006811144); 原文链接:http:/...

    zhoutk 评论0 收藏0
  • 数据训练营|BAT都在用的方法,详解A/B测试的那些坑!

    摘要:我们再来看国内一线公司内的一个实验吧数据训练营都在用的方法,详解测试的那些坑如上是不同的引导卡片样式的实验,最终结果样式比样式的提升。设指标数值隐变量列显变量列含方案变量。 作者|蚂蚁金服人工智能部产品经理 范磊 本文首发|微信公众号 友盟数据服务 (ID:umengcom),转载请注明出处 If you are not running experiments,you are prob...

    Gilbertat 评论0 收藏0
  • Python 基础起步 (十) 什么叫函数?

    摘要:默认参数我们仍以具体的例子来说明如何定义函数的默认参数。从上面的例子可以看出,默认参数可以简化函数的调用。 Python 函数 大家好,这一期让我们来看看Python中比较核心的知识点:函数(也叫方法),那么到底什么是一个函数呢?先让我引入一个官方一点的定义: 函数是对程序逻辑进行结构化或者过程化的一种编程方法。是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应...

    姘搁『 评论0 收藏0
  • Python数据挖掘与机器学习技术入门实战

    摘要:在本次课程中,着重讲解的是传统的机器学习技术及各种算法。回归对连续型数据进行预测趋势预测等除了分类之外,数据挖掘技术和机器学习技术还有一个非常经典的场景回归。 摘要: 什么是数据挖掘?什么是机器学习?又如何进行Python数据预处理?本文将带领大家一同了解数据挖掘和机器学习技术,通过淘宝商品案例进行数据预处理实战,通过鸢尾花案例介绍各种分类算法。 课程主讲简介:韦玮,企业家,资深IT领...

    孙吉亮 评论0 收藏0

发表评论

0条评论

mikyou

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<