• 0
  • 0
分享
  • 时序数据库性能测试方法
  • 恬恬圈 2020-06-02 13:14:52 字数 0 阅读 4300 收藏 0

一、什么是时序数据库

时序数据库全称为时间序列数据库。时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。

时序数据库全的特点包括一是多源性获取,数据分散,非结构化数据比例大;二是数据蕴含信息复杂,关联性强;三是持续采集,具有鲜明的动态时空特性;四是采集、存贮、处理实时性要求高;五是与具体工业领域密切相关。

  • 时序数据库采用的技术

  • 时序数据库高压缩比存储技术

  • 时序数据库的列存储技术

  • 时序数据库的时间序列技术

  • 时序数据库支持大数据量吞吐处理技术

  • 时序数据库的高聚合查询技术

本文根据时序数据库的技术特点结合实际业务场景,设计如下测试方法:

时序数据库建库测试方法、时序数据库写入测试方法、时序数据库查询测试方法、时序数据库导入\导出测试方法、时序数据库压缩比测试方法等五方面组成。

二、时序数据库性能测试方法

2.1时序数据库建库测试方法

根据时序数据库的需求规格说明书或设计中要求的最大维度数和最大指标数,通过测试脚本或测试工具创建最大维度数或指标数的时序数据库模型。

评价方式是否可以按需求规格说明书或设计中要求的最大维度数和最大指标数创建。

“数据库模型”的建立依据下述数据特征(图2.1):

  1)度量(metric):相当于关系型数据库中的table;

  2)时间戳(timestamp):数据均带有时间戳(单位为ms);

  3)数据点(data point):相当于关系型数据库中的row;

  4)维度列(tag):一般存放的是并不随着时间戳变化的属性信息;

  5)指标列(field):一般情况下存放的是会随着时间戳的变化而变化的数据。

15243603_202005281620081V1T4.png

图2.1  数据库模型

2.2时序数据库写入测试方法

使用时间序列数据生成工具模拟业务场景数据。在实际数据生成中,时序数据库写入能力要求较高,且并发写入和较大数据包写入较多,业务常用场景,设计不同的写入负载模式包装,形成写入负载,然后对目标数据库的写入性能进行评测,通过调整并发线程数、维度数和指标数量,调整负载模式。

写入负载测试模式有两大类:第一类测试固定维度数和指标数,通过不断增加线程数测试时序数据库在不同线程数下的写入性能表现,负载详情如表5.4所示。

2.png 

第二类测试固定线程数,不断增加维度数,测试相应的写入性能,负载详情如表5.3所示。

3.png

应用场景时序数据库的数据写入响应时间要求往往不高,而对其吞吐量的要求较高,更关注每秒钟能写入的线程数和数据点数,因此,写入性能指标设置为吞吐量,计算公式如下:

4.png

2.3时序数据库查询测试方法

实际应用对时序数据库的并发查询请求并不多,更关注的是单个查询请求的响应时间。常用的查询负载包含以下五种:

1)点查询:指定某一字段取值进行查询;例如按设备ID或设备温度等条件查询记录数;

2)范围查询:查询一段时间内,针对单个或多个字段根据时间区间查询数据;例如:查询某段时间内所有设备的所有传感器的所有值;查询一段时间内,指定设备的指定传感器的所有值;

3)精度查询:针对不同的标签维度列进行数据聚合;例如:查询某个维度的某个指标大于某个阈值的维度;

4)聚合查询:是指时序数据库有提供针对字段进行计数、平均值、求和、最大值、最小值、滑动平均值、标准差、归一等聚合类 API支持;例如查询一个月内某一个小时内,指定设备的指定传感器的聚合值(max、min、mean值);

5)经典查询:实际业务中常用的查询,根据实际情况定制查询场景。例如查询某个风场的所有风机的所有传感器在过去某段时间内每个小时的平均值。

在读取数据时,更多的是监控面板和数据分析的场景,对时序数据库服务器的并发要求较低,而对响应时间要求较高,因此,查询场景的评价指标设置为响应时间,计算公式如下:

5.png

2.4时序数据库导入\导出测试方法

为开展时序数据库导入测试,首先准备符合业务场景的数据集,数据集为2个,容量大小分别为百万条数据集(MB级)和千万条数据集(GB级);其次为了避免从硬盘读取数据和网络传输成为测试瓶颈,把数据集装载到内存,然后进行Load(避免硬盘I/O瓶颈),并且在一台测试机器上(避免网络瓶颈)运行数据库服务器和客户机测试程序。最后,把数据装载到内存,进行导入,在测试过程中监控CPU的使用情况。

时序数据库导出测试,通过测试脚本将导入的大、小数据集分别导出到本地硬盘,在测试过程中监控CPU的使用情况。

导入\导出测试最终评价指标为成功数据点数、导入\导出的成功率、导入\导出的消耗时间、导入\导出速度等。

2.5时序数据库压缩性能测试方法

数据压缩能力测试是在导入测试结束后,统计数据库文件所占磁盘空间大小,将数据库文件总大小与原始数据进行对比,并计算压缩比:

6.png


版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   纳斯达克CEO阿迪娜·弗里德曼在该公司的电话会议上表示,他们将暂停推出加密货币托管业务。  “考虑到美国的商业和监管环境正在发生变化,我们已经决定暂停在美国推出数字资产托管业务,以及我们为获得相关牌照而做出的努力。”弗里德曼说,“然而,我们仍将继续建设和提供技术能力,使纳斯达克成为领先的数字资产软件解决方案提供商,服务于更广阔的的全球行业。”  纳斯达克仍会为Coinbase等公司提供上市服务,并为贝莱德等公司最新的比特币ETF基金提供申请文件。  “更广泛地看,我们仍将致力于通过各种方式支持数字资产生态系统进化,包括与监管者的持续互动,在整个交易周期内提供全面的技术解决方案,以及与潜在E...
            0 0 1137
            分享
          • 很多年前看到一个“老板让俩员工买土豆”的故事,可能很多人都知道这个故事。故事大概讲的是,老板让两个新人去市场上看一下今天有没有卖土豆的。小李很快回来了,说:“只有一个农民拉着土豆在卖,我们要不要?”老板笑了笑没有回答。过了一会,小王回来了,说:“今天只有一个农民在卖土豆,总共有40袋,每斤五毛五,土豆质量不错,价格也很优惠。根据以往的经验,这批土豆大概能支持我们一周的使用量。如果全部要的话,还能再优惠五分钱。我带回来一个,您看看,这还有那个农民的电话。”当时看完之后,内心觉得小李做得好,应该向小李学习。但是好在哪里、怎么学习,却不是很清楚。激动不过三天,之后就慢慢遗忘了。一次偶然的机会,和一个...
            1 1 1278
            分享
          • 前言爬虫与反爬虫,是一个很不阳光的行业。这里说的不阳光,有两个含义。第一是,这个行业是隐藏在地下的,一般很少被曝光出来。很多公司对外都不会宣称自己有爬虫团队,甚至隐瞒自己有反爬虫团队的事实。这可能是出于公司战略角度来看的,与技术无关。第二是,这个行业并不是一个很积极向上的行业。很多人在这个行业摸爬滚打了多年,积攒了大量的经验,但是悲哀的发现,这些经验很难兑换成闪光的简历。面试的时候,因为双方爬虫理念或者反爬虫理念不同,也很可能互不认可,影响自己的求职之路。本来程序员就有“文人相轻”的倾向,何况理念真的大不同。然而这就是程序员的宿命。不管这个行业有多么的不阳光,依然无法阻挡大量的人进入这个行业,...
            13 14 1745
            分享
          •   近些年,自动化测试在很多软件公司已经成为一种必备的测试方式。即使那些还没运用自动化测试手段的公司,也正开始着手筹划了。每年,我们从举办的各种测试论坛和峰会上可以发现,自动化测试和敏捷测试必定是会议的主角。再看看最具有晴雨表的招聘市场,自动化测试的招聘数量激增,只要能写点儿代码的测试人员薪资也必定水涨船高。相比之下,手工测试则显得黯然失色。  今天,我们就来好好聊聊关于手动测试的未来,希望可以让更多测试新手们,在一入门的时候偶,就能看到自己即将进入的职场环境,以为找到自己未来的职业出路。  1、纯手动测试从业者的未来  今天,如果是一个纯手工测试工程师,其黄金生命期也就是工作开始的5年左右,...
            0 0 1050
            分享
          •   今天咱们聊一聊,26岁要进入软件测试行业,要做好哪些准备。  首先要明确的是,26岁入行不算晚,但是也是没有太多的时间容你去试错,所以每一步都必须走对。  26岁零基础转行软件测试,你必须要做的3个准备。  第一个准备:认知准备  1、进入测试行业一定要学习一门语言,认为做测试不用写代码或者对于写代码比较排斥的,可以绕道了;  2、技术是你立足的根本,但是不要认为技术做到最强,就可以得到100%的尊重;  3、在不断学习的同时也要积极地参与行业内的交流,比如沙龙、讲座等,朋友内推比海投简历靠谱的多;  4、学历很重要,项目经验很致命,英语是加分项;  5、学习是长反馈、反人性的,不要期待短...
            10 10 941
            分享
      • 51testing软件测试圈微信