[转帖]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 ...
随机推荐
- 用 GSL 求解超定方程组及矩阵的奇异值分解(SVD) 2
接上一篇... 下面我们将 SVD 相关的功能封装成一个类,以方便我们提取 S 和 V 的值. 另外,当我们一个 A 有多组 x 需要求解时,也只需要计算一次 SVD 分解,用下面的类能减少很多计算量 ...
- 10 ORM 多表操作 查询
1.子查询:基于对象的跨表查询 def query(request): """ 跨表查询: 1.基于对象查询 2.基于双下划线查询 3.聚合.分组查询 4. F Q 查询 ...
- CI/CD系列
一.CI/CD系列 什么是CI/CD(译) Docker与CI/CD(转) Docker和CI/CD实战 二.Git 三.GitLab
- C语言动态内存的申请和释放
什么是动态内存的申请和释放? 当程序运行到需要一个动态分配的变量时,必须向系统申请取得堆中的一块所需大小的存储空间,用于存储该变量.当不再使用该变量时,也就是它的生命结束时,要显式释放它所占用的存储空 ...
- 【转】阿里云Linux系统被攻击的处理过程
4-22日 19:48分,在等女儿跳舞下课的时候,在“多看”进入大刘等人的<毁灭之城:地球碎块>,读到了“诅咒 3.0”病毒出现的时候,阿里云发来短信“尊敬的用户,您的云服务器x.x.x. ...
- 简单可行的code review规则
前言 曾经有一段垃圾代码放在我的面前,我没有拒绝,等我真正开始接手的时候我才后悔莫及,程序员最痛苦的事莫过于此! 每当接手别人的代码,都有一种想重新写一遍的感觉,等到别人再来接手你的代码时,同样的感觉 ...
- JS截图(html2canvas)
JS截图(html2canvas) • 引入js <script type="text/javascript" src="js/html2canvas.js&quo ...
- TP里where的查询方式,比如or应该怎么写?
这应该是个基础..只是我没有系统的学TP,所以用到了临时查了手册. 正常来说,thinkphp里的查询方式是: ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用数组或者对象来 ...
- 自动分配ip的方法- 【Linux】
1. 查看本机无线网络使用的网卡 2. 设置vbox的网络连接为桥接,并选择本机无线网络对应的网卡 3. 进入系统,输入ifconfig命令,记录下系统的HWaddr 4. 修改系统ip配置文 ...
- 微服务构建: Spring Boot
在展开 Spring Cloud 的微服务架构部署之前, 我们先了解一下用于构建微服务的基础框架-Spring Boot. 由于 Spring Cloud 的构建基于 Spring Boot 实现, ...