• tair ldb存储引擎性能測试方案


    1. 性能測试环境

      在单机环境(一台dataserver)和分布式环境(多台dataserver)下分别进行測试,或仅仅在分布式环境下进行測试。

    2. 性能測试指标

    主要考量两个指标

    (1)服务端的极限QPS

    (2)单个操作的响应时间rt

    当然事实上还有其他不少指标,比如服务端的资源消耗情况、并发数等等。


    3. 性能測试方法

    主要针对tair ldb存储引擎在缓存了不同级别数据的前提下,加入了范围Bloomfilter支持的前后对 get_range接口測试的性能对照情况。

    考虑到网络方面的负载。每次操作应该反复N次取个稳定值。详细流程初步设计例如以下:

    (1)当dataserver数据库为空时,通过tairclient向dataserver服务端put一定量的数据。

    (2)在(1)完毕后,以单线程通过tairclient进行get_range调用向dataserver获取数据,记录N次操作所消耗的时间。

    (3)并发多个线程通过tairclient的get_range调用向dataserver获取数据,每一个线程完毕N次的操作。记录服务器的QPS大小、响应时间等。

    (4)不断增大dataserver的存储数据量,反复进行(1)~(3)的測试,形成未加入范围Bloomfilter支持的性能測试报告。

    (5)对tair ldb加入范围Bloomfilter支持后。再反复进行(1)~(4)的操作。终于形成两者的性能对照測试报告并做详细的分析。

    4. 性能測试工具

    单机下经常使用的性能測试工具有: GNU的gprof,IBM的PurifyPlus。Intel的VTune。AMD的CodeAnalyst,还有Linux下的OProfile/perf。对于这些工具能否应用到分布式系统中还不甚了解。专门针对分布式环境的性能測试工具,相关资料较少。仅仅看到一个基于Java的Jmeter。淘宝的DST。

    我们的需求相对较简单,使用这些工具反而添加了其复杂性,因此我们决定自己写一个简单的性能測试工具,基本思路是调用tair client的api,启动多线程去压。然后记录一些压測结果。类似rocksdb/tools以下的db_stress.cc就是这样的思路。还有leveldb下的各个test測试也是值得參考的资料,比方db_bench.cc基測程序。

  • 相关阅读:
    隐式转换
    创建跟踪和查看执行计划需要的权限
    添加到SQLAgentReaderRole角色后报拒绝SELECT权限
    JS调试分享技巧
    很实用网站地址 CSS和JS,还有RGB
    数组去重,排序,重复次数,两个数组合并,两个数组去重,map(),filter(),reduce()
    动画可以暂停animation-play-state
    前端好的论坛地址
    CSS动画划入划出酷炫
    无题
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7147205.html
Copyright © 2020-2023  润新知