【转】 关于data factory的介绍——即如何快速生成大批量数据
上次在我的博客中讲述了quest公司的spotlight系列软件,这次来扯淡一下quest公司的另一测试辅助软件 datafactory(数据工厂),顾名思义,数据工厂是生产数据的,主要应用领域是性能测试中的大数据量测试, 也就是性能测试数据准备阶段。
原理说明:
通过和数据库进行连接后,对选定表的字段设定一定的插入规则,然后批量插入记录。Datafactory支持各种主流数据库(oracle、DB2、MS SQL),甚至excel、access等。下面以以主流的oracle为例进行说明。
环境说明:
Oracle10g,创建2个表,一个是testtable,一个testtable2。计划用datafactory往testtable中插入记录,其中需要读取testtable2中的部分字段信息。testtable表的字段类型如下(字段类型已经尽可能覆盖多种情况):
Testtable表:
Testable2字段类型和testtable类似,里面记录情况如下:
|
编号 |
姓名 |
性别 |
出生日期 |
毕业院校 |
分数 |
照片 |
考核情况 |
|
1 |
张三 |
1 |
2009-12-21 |
北京大学 |
85.5 |
<BLOB> |
<NCLOB> |
|
2 |
李四 |
0 |
2002-7-16 |
清华大学 |
78.2 |
<BLOB> |
<NCLOB> |
|
3 |
王五 |
1 |
1999-6-8 |
湖南大学 |
65.5 |
<BLOB> |
<NCLOB> |
详细操作描述:
安装完datafactory之后,进入file菜单下面点击new,然后选择oracle数据库类型。
然后会要求输入oracle的net服务,和连接的用户名和密码。
选择要插入记录的表。
进入设置插入表规则界面,对每个字段的插入规则在右边界面进行设置。
设定规则,testtable表中编号字段为long integer类型,这里设定为插入顺序值(insert sequential values)。
设定规则,testtable表中姓名字段为vachar2类型,这里设定从testtable2表中查询结果随机取值。
设定规则,testtable表中出生日期为date类型,这里设定设定一个随机的时间,时间跨度为1982年-1988年的任何一天。
设定规则,testtable表中分数为为number类型,这里设定设定一个随机数值,数字跨度为50-85.5。
设定规则,testtable表中考核情况为NCLOB类型,这里设定随机从文件夹中的text文件获得内容。
设定规则,testtable表中照片为BLOB类型,这里设定随机从文件夹中的获得图片。
设定完毕后,点击上面的run按钮,成功执行插入。插入后的效果如下所示:
引发的另外一个问题:
因为datafactory试用版只能每次插入100条数据,购买正版又没有钱,而大数据量的测试动不动就要100万级的数据,那要准备100万条数据可是要点10000次鼠标啊,那样的话,性能测试还没有开始,人就已经崩溃了。其实,有很多办法能够解决这个问题。如写一个多线程的程序,反复触发插入事件。当然最简单的办法,还是用HP公司的Loadrunner录一段插入的脚本,然后设定几个虚拟用户(原理上也是多线程插入的方式)进行插入就可以轻松搞定了。
录制插入脚本,把整个插入操作当作一个事务。
设定场景,这里设定8个虚拟用户,并发插入,时限为5分钟。
场景运行情况,插入事务一共通过了2635个。
从上面的事务来看,一共有2635个事务通过,因为试用版每次插入100条数据,则应该插入的总记录数为:2635×100=263500条,进入数据库,执行查询,可以发现记录数正确。
【转】 关于data factory的介绍——即如何快速生成大批量数据的更多相关文章
- ADF 第一篇:Azure Data Factory介绍
Azure Data Factory(简写 ADF)是Azure的云ETL服务,简单的说,就是云上的SSIS.ADF是基于云的ETL,用于数据集成和数据转换,不需要代码,直接通过UI(code-fre ...
- Azure Data Factory(三)集成 Azure Devops 实现CI/CD
一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...
- Azure Data Factory(四)集成 Logic App 的邮件通知提醒
一,引言 上一篇有介绍到使用Azure Data Factory 复制数据,然后有集成 Azure DevOps 实现CI/CD,但是对于真正的项目来说,这些肯定是不够的,比如说在执行 Azure P ...
- Azure Data Factory(五)Blob Storage 密钥管理问题
一,引言 之前讲解的ADF 集成Azure DevOps 实现CI/CD,在 Releases Pipeline 阶段,我们是将两个 Blob Storage 的链接字符串复制.粘贴到 "O ...
- 徒手打造基于Spark的数据工厂(Data Factory):从设计到实现
在大数据处理和人工智能时代,数据工厂(Data Factory)无疑是一个非常重要的大数据处理平台.市面上也有成熟的相关产品,比如Azure Data Factory,不仅功能强大,而且依托微软的云计 ...
- JS魔法堂:Data URI Scheme介绍
一.前言 上周五公司内部的Any Topic Conf.上我和同事们分享了这个主题,有同事说这个有用,有同事说这个没啥用,后来还延伸到网站性能的话题上,大家讨论的激烈程度让我觉得这次选题还不错.本篇先 ...
- Azure Data Factory(一)入门简介
一,引言 今天分享一个新的Azure 服务-----Azure Data Factory(Azure 数据工厂),怎么理解,参考根据官方解释-----数据工厂解释:大数据需要可以启用协调和操作过程以将 ...
- Azure Data Factory(二)复制数据
一,引言 上一篇主要只讲了Azure Data Factory的一些主要概念,今天开始新的内容,我们开始通过Azure DevOps 或者 git 管理 Azure Data Factory 中的源代 ...
- UiPath数据抓取Data Scraping的介绍和使用
一.数据抓取(Data Scraping)的介绍 使用截据抓取使您可以将浏览器,应用程序或文档中的结构化数据提取到数据库,.csv文件甚至Excel电子表格中. 二.Data Scraping在UiP ...
随机推荐
- FluentData官方文档翻译
开始 要求 .NET 4.0. 支持的数据库 MS SQL Server using the native .NET driver. MS SQL Azure using the native .NE ...
- Swift学习笔记十二
方法 方法就是和某种特定类型相关联的函数.类.结构体.枚举都可以定义实例方法和类型方法.类型方法和OC中的类方法类似. 结构体和枚举也可以定义方法是Swift与C/OC之间很大的一个区别,在OC中,只 ...
- JavaScript创建Map对象(转)
JavaScript 里面本身没有map对象,用JavaScript的Array来实现Map的数据结构. /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素 ...
- uoj #118. 【UR #8】赴京赶考 水题
#118. [UR #8]赴京赶考 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/118 Description ...
- ubuntu完美卸载JDK
要删除 OpenJDK (如果已安装的话).首先,检查是安装的哪个 OpenJDK包. # dpkg --list | grep -i jdk 移除 openjdk包: # apt-get purge ...
- Android程序开发0基础教程(一)
程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操 ...
- 区域医疗移动医疗影像解决方案1-基于HTML5的PACS
系统描述: 1.系统基于HTML5开发,突破了平台限制,可以在任意移动终端的浏览器上调阅原始海量医学影像图像. 2.客户端无需任何下载安装,直接通过浏览器即可使用,并处理基于DICOM标准的高保真医学 ...
- SQLServer恢复表级数据
最近几天,公司的技术维护人员频繁让我恢复数据库,因为他们总是少了where条件,导致update.delete出现了无法恢复的后果,加上那些库都是几十G.恢复起来少说也要十几分钟.为此,找了一些资料和 ...
- java中无符号类型的处理
在Java中,不存在Unsigned无符号数据类型,但可以轻而易举的完成Unsigned转换. 方案一:如果在Java中进行流(Stream)数据处理,可以用DataInputStream类对Stre ...
- PHP Fuzzing行动——源码审计
目录: Section 1: 20种PHP源码快速审计方式 Section 2: PHP源码审计自动化( PHP Fuzzer ) 风险级别: ■ Low ■ Medium ■ High 在开 ...