1)开源性能测试工具Curl-Loader快速实战 - 1
2)开源性能测试工具Curl-Loader快速实战 - 2
3)开源性能测试工具Curl-Loader快速实战 - 3
4)开源性能测试工具Curl-Loader快速实战 - 4
开源性能测试工具Curl-Loader快速实战 (1)
在线观看地址:http://www.boobooke.com/v/bbk1808
下载地址:http://www.boobooke.com/v/bbk1808.zip
开源性能测试工具Curl-Loader快速实战 (2)
在线观看地址:http://www.boobooke.com/v/bbk1809
下载地址:http://www.boobooke.com/v/bbk1809.zip
开源性能测试工具Curl-Loader快速实战 (3)
在线观看地址:http://www.boobooke.com/v/bbk1835
下载地址:http://www.boobooke.com/v/bbk1835.zip
开源性能测试工具Curl-Loader快速实战 (4)
在线观看地址:http://www.boobooke.com/v/bbk1836
curl-loader配置文件说明:
02
|
BATCH_NAME=
10K-clients
|
08
|
IP_ADDR_MIN=
192.168.1.1
|
09
|
IP_ADDR_MAX=
192.168.53.255
|
16
|
URL_SHORT_NAME= "local-index"
|
18
|
TIMER_URL_COMPLETION
= 0
|
19
|
TIMER_AFTER_URL_SLEEP
= 0
|
运行curl-loader的基本命令为:
1
|
curl-loader
-f config.conf
|
,这个config.conf就是上面的配置文件具体的设置需要根据需要,我根据我的需求一开始把CLIENTS_NUM_MAX=设置为2000,CLIENTS_NUM_START为100,CLIENTS_RAMPUP_INC为50,意思就是说一开始的虚拟客户端就是100个,然后以每秒50个用户的速度递增一直达到最大值2000。
因为是一开始运行测试,所以我没有设置的很大。为什么初始值不一开始就设置成2000呢,这个道理很简单,1,容易使被测的系统崩溃;2,不符合真实的环境;从这两方面考虑,所以要让压力的递增像一个爬坡的曲线慢慢的到到最大客户端值,也就是最大的压力然后保持一个稳定的范围,最后得到测试的参数再进行分析。在结束测试的时候我个人认为不用慢慢的递减压力,可以一下子把压力撤掉。
模拟的用户数量越多,占用的IP地址就越多,所以设置用户数量的时候要看IP_ADDR_MIN和IP_ADDR_MAX这两个参数间的IP个数是否满足,不满足的话要做适当的修改,可以大于等于,但不能小于,否则在运行
的时候就会提示让修改配置文件参数的错误
待测目标改成服务器端的IP地址即可,其他的暂时不用修改。
在运行curl-loaderl之前最好要修改一下系统打开文件的最大值,因为用的是Linux系统而Linux系统默认可以打开最大的文件数为1024,所以要修改大点,一般要超过CLIENTS_NUM_MAX的值,修改命令为:
注:后面的数值越大越好,最好是远远超过curl-loader虚拟的客户端数量
;如果不修改就会出现the current limit of open descriptors for the shell (1024)类似的错误
好了,终于不报错了,可以执行curl-loader运行命令了,没错,这样可以运行了,但还不是最好的状态,最好在加上一些运行的命令参数这样才能更大的发挥curl-loder的作用,也是测试结果更为准确
下面就是各个参数的说明,是在官方网站找的,我全部按照自己的意思翻译了,这么简单的事情我Google,百度了半天竟然没有一个中文资源可以参考
-c[onnection establishment timeout, seconds] :设置连接超时的时间
-d[etailed logging; outputs to logfile headers and bodies of requests/responses. Good for text pages/files] :把header和bodies的反应等详细的情况输入到日志中。
-e[rror drop client. Client on error doesn't attempt to process the next cycle] :如果虚拟客户端出现错误则在下一次的周期请求中不再尝试。
-h[elp] :帮助
-i[ntermediate (snapshot) statistics time interval (default 3 sec)] :设置最后一段状况的时间,默认是最后3秒。
-f[ilename of configuration to run (batches of clients)] :设置想要加载的配置文件
-l[ogfile max size in MB (default 1024). On the size reached, file pointer is rewinded(回滚) :设置日志文件的最大容量,默认是1024MB,当达到最大值时文件将会回滚覆盖从最旧的日期。
-m[ode of loading, 0 - hyper (the default, epoll () based ), 1 - smooth (select () based)] :两种系统调用方式,epoll要优于select,但是也要测试为目的去选择。
-r[euse connections disabled. Closes TCP-connections and re-open them. Try with and without]:不再重试继续连接,每次重试连接之前都会关闭之前的连接。防止连接缓存
-t[hreads number. Use it for high loads and when running at SMP/multi-core HW] :用于高负载并且还是多核的cpu时,可以分配线程数。
-v[erbose output to the logfiles; includes info about headers sent/received] :把headers的收发的详细情况输出到日志中。
-u[rl logging - logs url names to logfile, when -v verbose option is used] :url日志,把url名字记录在日志文件中,当用-v选项时会被显示出来。
-w[arnings skip] :跳过警告。
可能有人觉得这么简单的英文直接自己看帮助或者man手册不就行了,太多的道理我也不想多说,我只想说翻译成中文这很重要!
根据我的需求,首先-f指定配置文件,-l 10240MB增大日志文件,-m 0 选择epoll()调用方法这两种方法是在被测系统的内核里设置的所以这个选择最好要跟被测系统中的内核的选择一致这样才能测试的更准确,-r每次都是重新建立连接,-t 2 我安装curl-loader的机器是双核的这样可以更充分的利用系统资源使机器发挥出更大的作用,-u 记录url到日志中。所以我的curl-loader的运行命令就是:
你会看到屏幕刷刷的翻动着,到后面会有一个最后三秒运行和总curr的状态
如果想要结束测试ctrl+c就可以了
下一篇我会写这些状态参数和结果的意义
简单总结下我学习上面这些东西的过程:
首先是在Google和百度上搜索中文资料,毕竟中文更易快速的理解,但是很失望,中文关于curl-loader的有价值的资料很少,大部分都是介绍怎么去安装,连配置文件的各个配置都没有一个能完全说明的,收获最多的就是看了网上流传的所谓的一个XX老师的教学视频,但是看到最后发现也不靠谱,curl-loader的测试结果里有个很重要的参数CAPS硬是给人胡说着解释出来了,当时就怀疑,随即到官网查看还真不是他说的那个意思,所以要怀疑一切所谓的权威,最好到官方的网站去找答案,即使是英文的。
血汗泪的教训啊~,所以勇敢的站起来去大胆的怀疑权威,细心的去认证吧!
还有,因为是刚开始写博客还搞不懂怎么把代码调成高亮显示,后面会改成高亮的那种
下载地址:http://www.boobooke.com/v/bbk1836.zip
相关推荐
curl-loader 开源 性能 实战 开源性能测试工具Curl-Loader快速实战 - 1 bbk1808
curl-loader 是一个用C语言编写的Web应用测试和模拟负载工具,可模拟成千上万的客户端请求,并且每个请求来自不同的IP地址,支持用户认证、登录等Web交换过程。
curl-loader(也被称为“omes-NIK”和“davilka”)是一个开源的C语言编写的工具,模拟应用负载和成千上万的几十万人的HTTP / HTTPS和FTP/ FTPS的客户端应用程序的行为,每个有其自己的源IP地址。相反,其他curl-...
curl-loader-0.48.tar.gzcurl-loader-0.48.tar.gz
curl-loader(也称为“omes-nik”和“davilka”)是一个用 C 语言编写的开源工具,模拟成千上万个 HTTP/HTTPS 和 FTP/FTPS 客户端的应用程序负载和应用程序行为,每个都有自己的源 IP 地址。 与其他工具相比,curl-...
curl 是利用 URL语法在命令行方式下工作的开源文件传输工具。 它被广泛应用在 UNIX、 多种 Linux 发行版中,并且有 DOS 和 Win32、 Win64 下的移植版本。如果你的开发环境是 Mac 或者 Linux, 会自带 curl;如果是 ...
curl-8.4.0_3-win32-mingw.zip curl-8.4.0_3-win64-mingw.zip curl-8.4.0_3-win64a-mingw.zip
curl-8.4.0.tar.gz curl-8.4.0.zip
curl-curl-7_47_1.zip
curl-curl-7_53_1
curl-7.46.0-win64curl-7.46.0-win64curl
curl loader 性能测试工具curl loader 性能测试工具
curl-7.68.0-win64-mingw.zip windows curl curl-7.68.0-win64-mingw curl-7.68.0-win64-mingw
curl 工具 window 64位 curl-7.71.1-win64-mingw.zip
linux curl 安装包 curl-7.59.0.tar.gz 不用去再找官方的
curl-7.42.0-win64.zip
官方最新版本 安装时请使用默认设置,安装完成后可以打开一个命令行窗口,输入 curl,如果提示 curl: try 'curl --help' or 'curl --manual' for more information 就表示安装成功了。
curl-7.76.1-win64-mingw.zip
curl-config displays information about the curl and libcurl installation.