使用 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 服务器 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:

      • SQL Server 2019:

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

      • SQL Server 2019:

        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接受最终用户许可协议:

      export ACCEPT_SQLIOSIM_EULA=y
      
    3. 安装 SQLIOSim:

      yum install mssql-server-sqliosim
      

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

非根用户无法安装 SQLIOSim,但可以运行它。 若要将 SQLIOSim 作为非根用户运行,请将非根用户添加到“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 活动。 本文也适用于 SQLIOSim for Linux 生态系统。