性能测试工具curl-loader(linux)

简介:

curl-loader介绍

      curl-loader(也被称为“omes-NIK”和“davilka”)是一个开源的C语言编写的工具,模拟应用负载和成千上万的几十万人的HTTP / HTTPS和FTP/ FTPS的客户端应用程序的行为,每个有其自己的源IP地址。相反,其他curl-loader使用真正的C编写的客户端协议栈,即libcurl和TLS/ openssl的SSL的HTTP和FTP协议栈,支持登录和验证口味和模拟用户行为的工具。  

    所以,体积虽小,但不要小看他的能力哦!^_^  curl-loader 性能测试工具在初做测试时就有听过,但由于它的运行环境是linux系统,所以,一直没下载使用,现在刚好可以趁着学linux的机会把玩一下。

------------------------------------------------------------------------------------------------

-       运行环境:centOS 4.8                                     -

-   下载地址:  http://sourceforge.net/projects/curl-loader/files/curl-loader/         -
-   官方配置文档:  http://curl-loader.sourceforge.net/index.html                 -
------------------------------------------------------------------------------------------------
 
安装步骤:
 
 
[root@youname test]# tar jxvf curl-loader-0.56.rar.bz2      解压文件
 
解压之后
[root@youname test]# cd curl-loader-0.56      进入目录
[root@youname  curl-loader-0.56 ]# vi QUICK-START     打开快还入门文档
其中有如下提示:
复制代码
复制代码
.............
Build it using general C development environment with bash,
gcc (3 or 4 series), make, etc on a linux machine.

Building pre-requirements are:
1. openssl binaries;
2. openssl development package with include files (on debian package libssl-dev)
............
复制代码
复制代码
 
如果有你的linux系统有gcc和openssl环境的话,下面内容可以跳过,没有的话跟我来安装。   
--------------------安装gcc----------------------------------------------------------------------------
 首先,要求我们运行必须有 gcc 环境:
 
    方法一  
    如果你的是redhat/centos版本的linux,可以运行下面命令进行下载安装
     [root@youname test]# yum install gcc gcc-c++   下载安装C编译器
    方法二 
    rpm安装如果安装系统盘有,可以将安装光盘插入,运行下面命令(虚拟机请参考插入安装文件的方式):
     [root@youname test]# rpm -ivh gcc*
 
 ---------------------------- 安装 openssl------------------------------------------------------------------------------------
 其次,要求我们运行需要安装 openssl 包
 
   [root@youname curl-loader-0.56]# rpm -qa | grep ssl  查看自己是否安装了openssl服务。
 
   方法一
   下载相应的服务并安装(方法繁琐,这里给链接)  
   
   方法二  
   上面方式比较麻烦,最简单的方式就DVD/CD方式将系统盘插入,然后在系统盘/centOS/RPMS/目录中找到:
   openssl-0.9.7a-43.17.el4_7.2.rpm
   openssl-devel-0.9.7a-43.17.el4_7.2.rpm
  两rpm包,双点击安装重启就OK了。
 
     当然,也可以参照安装gcc的方法二通过命令安装
 [root@youname test]# rpm -ivh  [文件名]
 -------------------------------------------------------------------------------------------------------------------------------------------------
    
 
前提环境满足后,下面一个命令就开始安装了。

[root@youname test]# make          自动编译
 
编译完成后curl-loader可执行程序,curl-loader 为我们提供了一些例了,我们先看一下例子中如何配置性能选项
[root@youname curl-loader-0.56]# cd  conf-examples/         打例子目录  
[root@youname conf-examples]# cp 10K.conf  mysimp.conf     将10K.conf文件拷贝到当前目录下并命名为mysimp.conf
[root@youname conf-examples]# vi mysimp.conf    打开编辑 mysimp.conf文件
复制代码
复制代码
########### GENERAL SECTION ################################
BATCH_NAME= 10K //测试对象的名称
CLIENTS_NUM_MAX=10000 //最大虚拟用户数
CLIENTS_NUM_START=100 //一开始启动用户数
CLIENTS_RAMPUP_INC=50 //每秒钟启动几个用户
INTERFACE =eth0 //使用的网卡eth0
NETMASK=16 //子网掩码位数
IP_ADDR_MIN= 192.168.1.1 //起始IP地址
IP_ADDR_MAX= 192.168.53.255 #Actually - this is for self-control //最后的IP地址范围
CYCLES_NUM= -1 // -1 表示无限循环
URLS_NUM= 1


########### URL SECTION ####################################

URL=http://localhost/index.html //要测试的URL
#URL=http://localhost/ACE-INSTALL.html
URL_SHORT_NAME="local-index"

REQUEST_TYPE=GET
TIMER_URL_COMPLETION = 5000 # In msec. When positive, Now it is enforced by cancelling url fetch on timeout
TIMER_AFTER_URL_SLEEP =20
复制代码
复制代码
对上面的内容配置完成后保存退出
 
进行性能测试
 
执行下面一条命令就开始运行我们的性能测试了
[root@youname curl-loader-0.56]#  curl-loader  -f  ./conf-examples/mysimp.conf

运行测试的过程中,上面的信息会不断的更新(刷新)中。环境终于跑通了。后面会详细学一下curl-loader的具体使用。
目录
相关文章
|
4月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
21天前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
399 10
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
246 16
|
2月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
3月前
|
数据可视化 测试技术 Go
Go 语言测试与调试:`go test` 工具用法
`go test` 是 Go 语言内置的测试工具,支持单元测试、基准测试、示例测试等功能。本文详解其常用参数、调试技巧及性能测试命令,并提供实际项目中的应用示例与最佳实践。
|
3月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
695 23
|
4月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
256 32
|
2月前
|
人工智能 数据可视化 测试技术
UAT测试排程工具深度解析:让验收测试不再失控,项目稳稳上线
在系统交付节奏加快的背景下,“测试节奏混乱”已成为项目延期的主因之一。UAT测试排程工具应运而生,帮助团队结构化拆解任务、清晰分配责任、实时掌控进度,打通需求、测试、开发三方协作闭环,提升测试效率与质量。本文还盘点了2025年热门UAT工具,助力团队选型落地,告别靠表格和群聊推进测试的低效方式,实现有节奏、有章法的测试管理。
|
3月前
|
弹性计算 JavaScript Ubuntu
WebSocket协议相关的测试命令工具使用简介
本文介绍了针对WebSocket的测试工具wscat和websocat的基本使用方法,以及通过curl命令测试HTTP/HTTPS协议的方式。对于WebSocket,直接使用curl测试较为复杂,推荐使用wscat或websocat。文中详细说明了这两种工具的安装步骤、常用参数及连接示例,例如在ECS上开启8080端口监听并进行消息收发测试。此外,还提供了curl命令的手动设置头部信息以模拟WebSocket握手的示例,但指出curl仅能作为客户端测试工具,无法模拟服务器。
667 4