[转帖]UsingDiskspdforSQLServer --- 改天做下练习 官方文档.
|
Using DiskSpd in SQL Server environments Writer: Robert Beene Contributors: Jose Barreto, Ramu Konidena Technical Reviewers: Robert Dorr, Mike Zawadzki, Nitin Verma, Dan Lovinger Applies To: All Versions of SQL Server except Microsoft Azure SQL Database (MASD) Topics
|
||||||||||||||||||||||||
|
BACKGROUND |
A number of tools are available to stress and validate the functionality of I/O subsystems. Some of these tools actually simulate SQL Server I/O patterns, and others let you control the I/O patterns submitted to the subsystem. There are tools that confirm the functional validity of a configuration, while others are used only to test performance capacity. Software that performs a validation test simulates a read and write pattern, but it also verifies that the information was correctly read and written. This type of software is often used to help find root causes of corruption or to help determine whether drivers and hardware are functioning as expected when they’re performing I/O. There is likely to be a speed component to running this test, but this test is more about accuracy than speed. For the purposes of this document, a performance test tool focuses on simulating the READ and WRITE pattern, but it focuses even more heavily on the throughput and speed at which those operations take place (Load Generator). A performance test determines whether the hardware is capable of meeting the parameters at which it was designed to handle I/O throughput. The following table compares the most common tools that are currently used to test I/O subsystems in the context of SQL Server. Table 1 Tools used to test I/O subsystems
SQLIOSim For the |
|||||||||||||||||||||||
|
INFORMATION |
DiskSpd.exe You can use DiskSpd |
|||||||||||||||||||||||
|
FEATURES |
Some of the
|
|||||||||||||||||||||||
|
Open Source DiskSpd is
|
||||||||||||||||||||||||
|
Download details DISKSPD is To download DiskSpd, |
||||||||||||||||||||||||
|
CONTENTS |
The DiskSpd download Figure 1 |
|||||||||||||||||||||||
|
SYNTAX |
To display a DiskSpd DiskSpd [options] target1 [ target2 [ The following DiskSpd –d300 Test targets All available options and parameters are enumerated in |
|||||||||||||||||||||||
|
WARNINGS & PRECAUTIONS |
WARNING: When WARNING: If Note: Be aware that uppercase and lowercase Note: Make sure there’s nothing else Note: Run DiskSpd from an elevated Note: You can cancel a DiskSpd run at any Note: The iB notation is an international • 1KiB = 210 = 1,024 bytes • 1MiB = 1024 KiB = 220 = • 1GiB = 1024 MiB = 230 = |
|||||||||||||||||||||||
|
USAGE |
For complete In order to The following Note: Make sure that you always use a
Now that we The following DiskSpd.exe -c1000G –d300 -r -w0 -t8 -o8
Note: The test file that’s created for
EXAMPLES Note: All A single target file sized at 1000 GiB 8 threads for data files 4 threads for Log files (1 per NUMA node 300 Second duration 32 outstanding IOs for data files, 8 up Your test may require modifying these Note: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ANALYSIS |
For complete By default, Before For example, assume Figure 2
Understanding It’s For example,
There is a penalty MAX_WRITE * NUMBER_OF_DRIVES / The following
Even though each drive can handle up to 450 MB/sec
Now that we have an understanding of the possible max Repeats Command Line: Note: For this test, –L for latency Lists Input timespan: 1 ------------- duration: 10s warm up time: 5s cool down time: 0s measuring latency random seed: 0 path: 'F:\testfile.dat' think time: 0ms burst size: 0 software and hardware write performing read test block size: 8192 using random I/O (alignment: number of outstanding I/O thread stride size: 0 threads per file: 8 using I/O Completion Ports IO priority: normal Results for ******************************************************************************* Shows actual test thread count: 8 proc count: 12 Shows CPU | Usage | ------------------------------------------- 0| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| ------------------------------------------- avg.| 2.43%| Gives Total IO thread | bytes | ----------------------------------------------------------------------------------------------------- 0 | 5341184 | 652 | 0.51 | 65.20 | 1 | 5865472 | 716 | 0.56 | 71.60 | 2 | 5636096 | 688 | 0.54 | 68.80 | 3 | 5545984 | 677 | 0.53 | 67.70 | 4 | 5308416 | 648 | 0.51 | 64.80 | 5 | 5947392 | 726 | 0.57 | 72.60 | 6 | 5414912 | 661 | 0.52 | 66.10 | 7 | 5431296 | 663 | 0.52 | 66.30 | The total: 44490752 | 5431 | 4.24 | 543.10 | For Read IO thread | bytes | ----------------------------------------------------------------------------------------------------- 0 | 5341184 | 652 | 0.51 | 65.20 | 1 | 5865472 | 716 | 0.56 | 71.60 | 2 | 5636096 | 688 | 0.54 | 68.80 | 3 | 5545984 | 677 | 0.53 | 67.70 | 4 | 5308416 | 648 | 0.51 | 64.80 | 5 | 5947392 | 726 | 0.57 | 72.60 | 6 | 5414912 | 661 | 0.52 | 66.10 | 7 | 5431296 | 663 | 0.52 | 66.30 | ----------------------------------------------------------------------------------------------------- total: 44490752 | 5431 | 4.24 | 543.10 | As Write IO thread | bytes | ----------------------------------------------------------------------------------------------------- 0 | 0 | 0 | 0.00 | 0.00 | 0.000 | N/A | F:\testfile.dat (1000GB) 1 | 0 | 0 | 0.00 | 0.00 | 0.000 | N/A | F:\testfile.dat (1000GB) 2 | 0 | 0 | 0.00 | 0.00 | 0.000 | N/A | F:\testfile.dat (1000GB) 3 | 0 | 0 | 0.00 | 0.00 | 0.000 | N/A | F:\testfile.dat (1000GB) 4 | 0 | 0 | 0.00 | 0.00 | 0.000 | N/A | F:\testfile.dat (1000GB) 5 | 0 | 0 | 0.00 | 0.00 | 0.000 | N/A | F:\testfile.dat (1000GB) 6 | 0 | 0 | 0.00 | 0.00 | 0.000 | N/A | F:\testfile.dat (1000GB) 7 | 0 | 0 | 0.00 | 0.00 | 0.000 | N/A | F:\testfile.dat (1000GB) ----------------------------------------------------------------------------------------------------- total: 0 | 0 | 0.00 | 0.00 | 0.000 | N/A %-ile | ---------------------------------------------- min | 25th | 50th | 75th | 90th | 95th | 99th | 3-nines 4-nines 5-nines 6-nines 7-nines 8-nines max | |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* DO NOT USE. SQLIO and
SQLIOStress are deprecated and will officially be pulled from download site, if
they are not already. Any personal copies of the tools should be removed.
[转帖]UsingDiskspdforSQLServer --- 改天做下练习 官方文档.的更多相关文章
- 【AutoMapper官方文档】DTO与Domin Model相互转换(下)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
- Spring Cloud官方文档中文版-Spring Cloud Config(下)-客户端等
官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#_serving_alternative_formats 文中例子我做了 ...
- ubuntu16.04下snort的安装(官方文档安装)(图文详解)
不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...
- ubuntu14.04下snort的安装(官方文档安装)(图文详解)
不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...
- vue插件官方文档,做个记录
vue的插件,组件都可以按照这种方式添加 官方文档 https://cn.vuejs.org/v2/guide/plugins.html 做个记录用
- 参考Dubbo3官方文档做的学习笔记
文章目录 概念与架构 2.1 服务发现 Dubbo3官方文档: https://dubbo.apache.org 服务:是 Dubbo 中的核心概念,一个服务代表一组 RPC 方法的集合,服务是面向用 ...
- 【AutoMapper官方文档】DTO与Domin Model相互转换(上)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
- 2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合
这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...
- 【AutoMapper官方文档】DTO与Domin Model相互转换(中)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
随机推荐
- 【RedHat Linux】 链路聚合
[链路聚合] RHEL 7运行模式:teamd 守护进程, teamdctlroundrobin 轮询activebackup 热备份, 其中一个位为backuploadbalance 负载均衡lac ...
- AGC 030 B - Tree Burning
B - Tree Burning 链接 题意: 一个长度为L的环,有n个位置上有树,从0出发,每次选择一个方向(顺时针或者逆时针),一直走,直到走到一棵树的位置,烧掉这棵树,重复这个过程,直到没有树. ...
- Oracle GUID转换为String
Oracle中guid属于Raw(16)类型, 查询的时候如果不使用下面的函数, 程序中得到的是数组(byte[]). 在extjs环境下, 会带来数组的反序列化问题(newtonsoft.json) ...
- matlab GUI工作原理
例如,用GUIDE创建名为ceshi的GUI程序,其m文件的主函数有如下形式.那么,打开该GUI时,它到底是怎么运行的呢?以下略作小结,欢迎大家补充 function varargout = cesh ...
- Docker和CI/CD实战
一.CICD和DevOps 前面已经了解了CI/CD,其实CI/CD已经存在多年了,只是最近软件工程方面又提出了敏捷开发.DevOps,又把CI/CD炒火了. 那么什么是DevOps?DevOps和C ...
- 《SLAM十四讲》个人学习知识点梳理
0.引言 从六月末到八月初大概一个月时间一直在啃SLAM十四讲[1]这本书,这本书把SLAM中涉及的基本知识点都涵盖了,所以在这里做一个复习,对这本书自己学到的东西做一个梳理. 书本地址:http:/ ...
- JUC——线程同步辅助工具类(Exchanger,CompletableFuture)
Exchanger交换空间 如果现在有两个线程,一个线程负责生产数据,另外一个线程负责消费数据,那么这个两个线程之间一定会存在一个公共的区域,那么这个区域的实现在JUC包之中称为Exchanger. ...
- d-ary heap实现一个快速的优先级队列(C#)
d-ary heap简介: d-ary heap 是泛化版本的binary heap(d=2),d-ary heap每个非叶子节点最多有d个孩子结点. d-ary heap拥有如下属性: 类似comp ...
- kali linux执行apt-get update失败(数字签名过期)
想要安装某个软件,执行apt-get update 失败,出现下面的错误: 自己查看了更新源是没有问题的,根据提示的错误google了一下,发现是数字签名过期了. 执行下面命令: apt-key ad ...
- Erlang数据类型的表示和实现(3)——列表
列表 Erlang 中的列表是通过链表实现的,表示列表的 Eterm 就是这个链表的起点.列表 Eterm 中除去 2 位标签 01 之外,剩下的高 62 位表示指向列表中第一个元素的指针的高 62 ...