使用 SQLIOSim 实用工具在 Linux 上的磁盘子系统上模拟SQL Server活动

适用于:Linux 上的 SQL Server 2022,linux 上的 SQL Server 2019

简介

本文介绍 SQLIOSim 工具。 可以使用此工具对Linux 上的 SQL Server和容器平台的磁盘子系统执行可靠性和完整性测试。 这些测试模拟Linux 上的 SQL Server的读取、写入、检查点、备份、排序和预读活动。

SQLIOSim 工具最初是为 Windows 平台编写的并在其上发布的。 SQLIOSim 依赖于 SQLPAL 平台,该平台支持在 Linux 上执行 Windows SQLIOSim 实用工具。

支持的平台

平台 文件系统 安装指南
Red Hat Enterprise Linux 7.9 或 8.x Server XFS 或 EXT4 Red Hat 安装指南
SUSE Enterprise Linux Server v12 (SP4 - SP5) 或 v15 (SP1 - SP4) XFS 或 EXT4 SUSE Linux Enterprise Server 安装指南
Ubuntu 18.04 LTS、20.04 LTS XFS 或 EXT4 Ubuntu 安装指南
Windows、macOS 或 Linux 上的 Docker 引擎 1.8+ 不适用 使用 Docker 指南运行SQL Server容器映像

Linux 上的 SQLIOSim 安装说明

若要安装 SQLIOSim,请遵循与主机正在运行的 Linux 分发相关的步骤。

  1. 使用以下命令添加存储库:

    • 对于 RHEL 7:

      • 2019 SQL Server:

        sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
        
    • 对于 RHEL 8:

      • 2019 SQL Server:

        sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
        
      • SQL Server 2022:

        sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
        
  2. 添加存储库后,使用以下命令运行安装:

    1. 切换到根用户:

      sudo su
      
    2. 将环境变量 ACCEPT_EULA 设置为 y,以接受 End-User 许可协议:

      export ACCEPT_SQLIOSIM_EULA=y
      
    3. 安装 SQLIOSim:

      yum install mssql-server-sqliosim
      

在所有分发版中以非根用户身份运行 SQLIOSim

非 root 用户无法安装 SQLIOSim,但可以运行 SQLIOSim。 若要以非根用户身份运行 SQLIOSim,请将非 root 用户添加到“sqliosim”组。 在此示例中,请将 替换为 <account_to_add> 要添加的帐户。

sudo usermod -a -G sqliosim <account_to_add>

使用相同的用户凭据注销并重新登录,以确保组权限生效。

现在,你已准备好运行 SQLIOSim:

/opt/mssql-sqliosim/bin/sqliosim -cfg /tmp/sqliosim.default.cfg.ini -dir /tmp -log /tmp/sqliosim_log.xml

SQLIOSim 配置文件

可以从SQL Server支持团队的 GitHub 存储库下载各种测试的示例配置文件。

wget https://raw.githubusercontent.com/microsoft/mssql-support/master/sqliosim/sqliosim.cfg.linux/sqliosim.default.cfg.ini -P /tmp
wget https://raw.githubusercontent.com/microsoft/mssql-support/master/sqliosim/sqliosim.cfg.linux/sqliosim.hwcache.cfg.ini -P /tmp
wget https://raw.githubusercontent.com/microsoft/mssql-support/master/sqliosim/sqliosim.cfg.linux/sqliosim.nothrottle.cfg.ini -P /tmp
wget https://raw.githubusercontent.com/microsoft/mssql-support/master/sqliosim/sqliosim.cfg.linux/sqliosim.seqwrites.cfg.ini -P /tmp
wget https://raw.githubusercontent.com/microsoft/mssql-support/master/sqliosim/sqliosim.cfg.linux/sqliosim.sparse.cfg.ini -P /tmp

注意

/tmp 是示例路径。 将其更改为自己的路径。

使用 default.ini 文件运行 SQLIOSim 的示例命令

/opt/mssql-sqliosim/bin/sqliosim -cfg /tmp/sqliosim.default.cfg.ini -dir /tmp -log /tmp/sqliosim_log.xml

有关配置文件的各种配置参数以及如何运行 SQLIOSim 的详细信息,请参阅使用 SQLIOSim 实用工具模拟磁盘子系统上的SQL Server活动。 本文也适用于适用于 Linux 生态系统的 SQLIOSim。