51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1401|回复: 0
打印 上一主题 下一主题

【转】YCSB性能测试工具使用(上)

[复制链接]
  • TA的每日心情
    奋斗
    2015-8-28 12:55
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]测试营长

    跳转到指定楼层
    1#
    发表于 2016-5-13 14:13:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    在网上查In-Memory NoSQL性能测试的资料时,偶然间发现了这个性能测试工具YCSB,全称为“Yahoo! Cloud Serving Benchmark”。它内置了对常见NoSQL数据库和数据网格产品的支持,如Cassandra、MongoDB、HBase、Redis、Infinispan等等很多的主流产品,而且不仅安装使用简单,还能自由扩展测试数据类型和支持的数据库产品。

    1 编译安装

    首先说一下YCSB的安装。直接下载tar.gz分发包的话其实也不需要安装什么,解压后通过bin目录下的脚本执行即可(依赖Python和JRE)。但由于tar.gz分发包比较大,一百多M,而且我这里总是连接超时,于是直接下载master库的源代码,自己编译。编译方法也很简单,因为工程是Maven管理的,所以只要有Maven环境就可以直接在YCSB根目录下运行package任务,之后就能在distribution工程的target中看到ycsb-0.1.4.tar.gz。最后将编译出的包拷贝到自己的环境如虚拟机里,就能使用了。本机调试也是可以的,只需在IDE中配置好Client.main()方法的启动参数就行了。

    2 使用

    现在来说一下如何使用YCSB,以Redis的性能测试为例,分为1.初始化测试数据 (loading阶段)2.执行测试操作(transaction阶段)。首先进行初始化,先保证Redis服务已经启动,然后在YCSB根目录下执行:

    > bin/ycsb load redis -s -P workloads/workloada -p "redis.host=127.0.0.1" -p "redis.port=6379"

    之后我们在Redis中就能看到1000条数据,因为workloada中定义了recordcount=1000。每一个key都是hash类型,我们可以重执行上面的命令,将redis改为basic,basic是一种dummy客户端,实际并不操作任何数据库,而是将YCSB对数据库的各种操作的key-value输出到控制台,这样我们就能看到这些key-value是怎么插入到Redis的,value都是什么样子的了。

    继续开始真正的测试:

    > bin/ycsb run redis -s -P workloads/workloada -p "redis.host=127.0.0.1" -p "redis.port=6379" \

    -threads 128 -p "operationcount=10000" -p "measurementtype=timeseries" \

    -p "timeseries.granularity=5000"

    简单解释一下这些参数:-threads是模拟的线程数,-p是传入的参数,可以是客户端的参数,可以是YCSB内部组件的参数,例如measurementtype会配置Measurements输出时间序列而不是直方图,也可以覆盖workload文件中预定义的参数,例如上面的operationcount。还有一个常用的参数是-target,指的是每秒最大操作数,当一秒内到达这个阈值,线程就会休眠1毫秒。

    输出的内容大概是这个样子,主要关注总的执行时间、吞吐量,以及读和写的平均延迟:

    [OVERALL], RunTime(ms), 60058.0

    [OVERALL], Throughput(ops/sec), 27049.768557061507

    [UPDATE], Operations, 812803

    [UPDATE], AverageLatency(us), 2275.102034564341

    [UPDATE], MinLatency(us), 616

    [UPDATE], MaxLatency(us), 64614

    [UPDATE], Return=0, 812800

    [UPDATE], 0, 4529.805933250927

    [UPDATE], 5000, 2208.521014693651

    [UPDATE], 10000, 2148.7565276549426

    [UPDATE], 15000, 2139.8536001184116

    [UPDATE], 20000, 2205.0305368941204

    [UPDATE], 25000, 2165.1238092653402

    [UPDATE], 30000, 2180.7067298448014

    [UPDATE], 35000, 2188.5334523973074

    [UPDATE], 40000, 2145.7207987586858

    [UPDATE], 45000, 2199.350677041509

    [UPDATE], 50000, 2175.385860213585

    [UPDATE], 55000, 2156.2515744608663

    [READ], Operations, 811752

    [READ], AverageLatency(us), 2304.3717539346994

    [READ], MinLatency(us), 629

    [READ], MaxLatency(us), 75380

    [READ], Return=0, 811751

    [READ], 0, 4634.609504308506

    [READ], 5000, 2233.603889043769

    [READ], 10000, 2179.2526166711627

    [READ], 15000, 2165.0853859227886

    [READ], 20000, 2234.4603871649133

    [READ], 25000, 2178.2390324907783

    [READ], 30000, 2208.70719241602

    [READ], 35000, 2207.444112422369

    [READ], 40000, 2173.767667054904

    [READ], 45000, 2223.0628439478996

    [READ], 50000, 2200.857439151695

    [READ], 55000, 2178.257027425664

    文章出自:http://blog.csdn.net/dc_726/article/details/43991871
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 20:10 , Processed in 0.063726 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表