SQLIOSim 模拟SQLServer的行为来测试IO性能

SQLIOSim


功能:

模拟SQLServer的行为来测试IO性能。

SQLIOSim的版本:

(1) SQL Server 2005的SQLIOSim是需要上网下载的套件。

(2) 从SQL Server 2008开始,SQLIOSim会包含在SQL Sever安装内。对于SQL Server 2008 R2,该应用程序所在目录为C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn。

(3) SQLIOSim会取代SQLIOStress;SQLIOStress之前称为SQL70IOStress。

(4) SQLIOSim与SQLIOStress比较起来,更精确地模拟SQL Server的磁盘I/O模式。

SQLIOSim主要的功能:

(1) 使用此工具来执行磁盘子系统上的可靠性和安全性测试。

(2) 这些测试会模拟SQL Server的读取、写入、检查点、备份、排序和预先读取等等的活动。

使用环境:

(1) 可以不用事先看装SQL Server。

(2) 适用于模拟产生SQL Server的磁盘I/O模式。

相关文件的说明:

(1) SQLIOSIM.COM文件:是一种命令行工具,让你可以设定在没有使用者交互的情况下执行。若要执行这项操作,你可以使用命令行参数、配置文件或这两种方法的组合。

(2) SQLIOSIM.EXE文件:是一个图形界面的应用程序,可以接受不带命令行参数。但是,SQLIOSim.exe并不会加载预设的配置文件。

(3) Sqliosim.cfg.ini文件:此为目前的环境配置文件(Config File),因此调整SQLIOSim的参数,此档案将用来存放相关的设置,若删除此文件,将恢复系统的预设值。若是没有此文件,SQLIOSim于第一次执行后会自动产生。

(4) Sqliosim.log.xml文件:存放SQLIOSim在执行后的相关记录。每次执行的结果,都会附加在此文件内。

(5) ErrorLog.xslt文件:sqliosim.log.xml需要使用此ErrorLog.xslt文件进行转化。

SQLIOSim的x64位版本工具下载地址:

http://download.microsoft.com/download/6/5/2/65286f65-bff2-42b8-b0c9-87f117855069/sqliosimX64.exe

步骤1:执行sqliosim.exe图形界面应用程序。至少要有一个数据文件和一个日志文件。设置好相应参数后,点击开始。

注意事项:

文件*.mdx:相当于*.mdf,也就是数据文件。

文件*.ldx:相当于*.ldf,也就是日志文件。

步骤2:输出文件sqliosim.log.xml为XML格式,可下载工具SQLIOSim Parse,通过该工具读取输出的XML格式,变成简单易读的GUI格式。

工具地址:http://sqliosimparser.codeplex.com/releases/view/34854

附录:SQLIOSim.com命令行工具。

根据参数,配置好命令参数后,执行。可用IE来阅读结果sqliosim.log.xml。

文件:sqliosim.cfg.zip,包含了5个配置文件,可以作为输入参数。

(1) Default.cfg.ini 推荐的通用测试。

(2) Hwcache.cfg.ini 硬件缓存行为测试。

(3) Nothrottle.cfg.ini 测试系统在高查询压力下。

(4) Seqwrites.cfg.ini 模拟基本的导入行为如BCP和Restore。

(5) Sparse.cfg.ini 通过DBCC和数据库快照测试稀疏文件行为。

时间: 2024-08-11 00:47:23

SQLIOSim 模拟SQLServer的行为来测试IO性能的相关文章

Linux 如何测试 IO 性能(磁盘读写速度)

这几天做MySQL性能测试,偌大一个公司,找几台性能测试机器都很纠结,终于协调到两台,IO的性能如何还不知道.数据库属于IO密集型的应用,所以还是先评估下Server的IO性能,看看是否能和线上的机器匹配上. 之前一直知道用dd(device to device)命令可以简单测试磁盘的IO读写速度,但没有深究.但这次做性能测试的关系,需要得到一个相对精确的值(之前的测试吃过这方面的亏,插个题外话,性能测试一定要首先确认好测试环境.). 网上常见的方法是使用hdparm和dd命令来测试,但实际的使

Linux演示 dd测试IO

dd测试IO,经常会用到,用来简单测试某个目录的读写性能. 本次测试环境:自己电脑的ubuntu系统-其他Unix/Linux系统也可以用dd. Tips:dd操作需要三思而行,搞清楚确认没问题再进行操作!一旦方向搞反了数据就没有了. ① /var目录写速度测试,在/var目录下写入一个约800M大小的iotest文件用时测试 # dd if=/dev/zero of=/var/iotest bs=8k count=102400 102400+0 records in 102400+0 reco

Windows IO 性能简单测试

转自:http://bbs.csdn.net/topics/360111289, 有改动. #include <windows.h>#include <stdio.h>#include <process.h>#include<memory>#pragma comment(lib,"ws2_32.lib")ULONGLONG g_nReadCounts=0,g_nWriteCounts=0,g_nOtherCounts=0,g_nReads

Sysbench0.5测试数据库性能

一.sysbench介绍SysBench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.它主要包括以下几种方式的测试:1.cpu性能2.磁盘io性能3.调度程序性能4.内存分配及传输速度5.POSIX线程性能6.数据库性能(OLTP基准测试 目前sysbench主要支持MySQL,pgsql,Oracle等数据库.最早的官网 http://sysbench.sourceforge.net      已经不可用项目地址: https://launch

使用SQLIO测试磁盘性能

SQLIO 是一个用于测试存储系统能力的命令行工具,用以获取存储系统相关的性能指标,以判断系统的 I/O 处理能力. 在微软的网站可以下载 SQLIO 的安装包,安装后目录中会出现如下文件: EULA.rtf – End-user license agreement that covers sqlio usage. param.txt – Configuration options that identify the target drives, test file names, and spe

提升Exadata 计算节点本地IO性能

1.问题概述 某客户有一台Exadata X2-2,每个计算节点是4块普通的本地SAS硬盘做成的RAID5,然后在RAID5的本地硬盘上创建了一个文件系统来存放DSG数据同步软件,在后续的运维过程中,发现DSG数据同步软件在进行数据同步时的延时非常严重. DSG进行检查和性能分析后,确认是由于Exadata的本地硬盘提供的IOPS无法满足DSG软件的要求,大量的时间都在等待本地磁盘的读写IO上. 通过磁盘性能分析工具也可以发现,本地盘的IO使用率基本上是在90%以上,严重时长时间100%,客户希

SQL Server中一个隐性的IO性能杀手-Forwarded record

原文:SQL Server中一个隐性的IO性能杀手-Forwarded record 简介     最近在一个客户那里注意到一个计数器很高(Forwarded Records/Sec),伴随着间歇性的磁盘等待队列的波动.本篇文章分享什么是forwarded record,并从原理上谈一谈为什么Forwarded record会造成额外的IO.   存放原理     在SQL Server中,当数据是以堆的形式存放时,数据是无序的,所有非聚集索引的指针存放指向物理地址的RID.当数据行中的变长列增

记一次虚拟化环境下Windows IO性能的解析

前言随着云计算技术与服务的发展和进步,越来越多的客户选择将业务部署到云端.但由于引入了虚拟化层,在业务部署过程中经常会遇到IO问题,通常也不易调试.本文主要介绍利用perf.systemtap等工具,帮助一位托管云客户调试IO性能问题,来分析虚拟环境下Windows IO的性能. 问题出现有一次,托管云客户自己搭建了虚拟化环境,在同一台宿主机上创建windows 2008 R2 和 Centos6.5虚拟机,用fio分别测试其随机读性能,windows 2008 R2的IOPS大约在18K,而L

磁盘io性能分析

一,概念 磁盘io,顾名思义就是磁盘的输入输出.即向磁盘写入数据和从磁盘读取数据. I/O 读写的类型,大体上讲,I/O 的类型可以分为: 读 / 写 I/O.大 / 小块 I/O.连续 / 随机 I/O, 顺序 / 并发 I/O.在这几种类型中,我们主要讨论一下:大 / 小块 I/O.连续 / 随机 I/O, 顺序 / 并发 I/O. 1,读 / 写 I/O 磁盘是用来给我们存取数据用的,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据时候对应的是写IO操作,取数据的时候对应的是是读