51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

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

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

    连续签到: 1 天

    [LV.4]测试营长

    跳转到指定楼层
    1#
    发表于 2016-5-13 14:12:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    3 源码分析

    YCSB的核心类都在Maven子模块core中,主要有Client、ClientThread、CoreWorkload、DB实现类等。


    其主流程是:python脚本bin/ycsb会调用Client类的main()方法,初始化Workload和DB的实现类,并根据-threads参数创建多个Client线程,-s参数创建一个Status线程。每个线程会循环recordcountoperationcount(在workloada中定义)除以threads次,并根据参数bin/ycsb load/run决定是初始化数据doInsert()还是执行读写操作doTransaction()。


    4 添加新数据库

    1.新建module:在YCSB根目录pom.xml下添加一个Maven子module,artifactId为xxx-binding(ycsb脚本会根据这个名字后缀扫描jar包,加入到classpath中),而目录名则为前缀xxx。

    2.配置pom.xml:打开新建子module的pom.xml,加入<build>一段,这样执行package任务后会在target目录下生成一个包含了所有依赖的大jar包,这是maven-assembly插件的功能。之后将core模块(因为下面我们要继承DB类)和其他所有依赖项添加到pom.xml中。

    3.新建DB子类:在此子module中新建package和类,继承DB类。

    4.打包module:执行package任务,在target下会生成一个xxx-binding.jar。拷贝到YCSB包下xxx-binding/lib目录下。

    5.执行测试:可以通过-db指定我们的DB类,或在ycsb Python脚本中给我们的类加个别名。

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

    使用道具 举报

    本版积分规则

    关闭

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

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

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

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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