Capture and Replay SQL Server Workload跟Oracle Capture一样,也是用来捕获用户对数据库中表的操作的,然后可以把这些捕获出来的SQL拿到相同的或者不同的库回放。接下来我要做一个SQL Server的Capture,并且这一次我Capture Benchmark Factory的基准测试。
一.准备基准测试数据
当第一次打开Benchmark Factory的时候, New Job Wizard是打开的, 点Create Connection Profile。首先需要创建一个SQL Server 的Connection (必须是在这个Database Type – Microsoft SQL Server向导里创建的Connection才有Capture and Replay SQL Server Workload这个功能,ODBC 类型中可以创建SQL Server的Connection,但是没有这个功能)直接创建一个Native的Connection为MSSQL_SS17。创建完了向导自动选择这个Connection,Add Workload。
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
Workload选择如下:
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
Add Test之后直接点Run Job,让它去创建数据对象。
二.创建Capture
点主菜单 New->New Job Wizard-> Add Workload->Capture/Replay Test->Capture and Replay SQL Server Workload:
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
Select Test->Perform new capture,打开Capture Scenario Wizard,输入 SQL Server连接信息,此用户是用来做Capture的,它可以Capture它自己所在的数据库,也可以Capture其它的数据库,只要它有足够的权限,当然回放的时候也一样。因为我们刚才已经用了一个用户bmf去创建数据了,所以这里还是用这个用户做Capture。
Directory Settings页修改Capture的名字为CSS17DEMO, Database Server directory是数据库能访问的路径,此路径用来存放生成的trace文件,当然这上路径也必须设成一个共享文件夹,让Benchmark Factory Console能访问,Capture directory是可以跟Database Server directory一样的(\server ip\capture),也可以是Console机子上的路径,此路径用来存放Capture文件,以及Capture完了生成的BMF_Replay_Files文件.
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
Capture Scope当然选bmf用户所在的Database了。
Backup Scope不选,因为我们的数据可以跑第一步创建的Job,不用备份也可以。
Filter Settings设置过滤条件,我们用Default。
Capture Thresholds页设置正在Capture的时候数据库服务器的CPU或硬盘空间达到这个阈值就停止Capture,我们这里用默认值。
Schedule Job页是设置Capture的启动和结束时间的,如果Capture进行时没有达到Thresholds,将会在设置的时间自动结束,当然,也可以手动Stop Capture。我们这里设置如下,如果数据准备的Job还没跑完,这里可以先等一会儿,所以这里设置的开始时间是later,在5分钟之后。
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
Submit 页是输入的信息汇总确认,如果不对可以返回修改。点Submit, Capture Status 窗口打开,正在Schedule。
此时我们先创建一个AS3AP 的测试Job.
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
把AS3AP中的创建对象和第一个Test删除,Save / Close。
当Capture Status变成Capturing的时候,点Run Job。点Click for capture details查看Capture Details。
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
当Capture完成Status即变成Done. 关闭Capture Status窗口,出现一个回放提示窗,OK.
对比事务数,Capture出来的事务多了几条对数据库的查询:
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
这是在New->New Job Wizard->Add Workload(因为在同一个数据库回放,选了相同的Connection,如果在另一个数据库回放则要创建另一个Connection并选上它)->Capture/Replay Test->Select Test->Import Test之后创建的Job ,在Job中查看Capture出来的SQL。
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload
三. 回放Capture
Job已创建好了,此时我们只需要点Run Job. 在这之前可以先跑第一步创建的准备数据对象的Job,因为那个Job是不管数据库有没有AS3AP的对象在数据库,都是先删除了再创建的;跑完这个就可以回放新建的Job CSS17DEMO了.
四. Run Reports 主界面,当然里面所有蓝色的都是可点开看详细信息的
Benchmark Factory 使用简介之Capture and Replay SQL Server Workload

相关文章: