<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>I/O &#8211; 良的世界</title>
	<atom:link href="https://www.lemonary.cn/tag/i-o/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.lemonary.cn</link>
	<description></description>
	<lastBuildDate>Thu, 09 Apr 2026 07:34:45 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.lemonary.cn/wp-content/uploads/2024/12/logo-150x150.jpg</url>
	<title>I/O &#8211; 良的世界</title>
	<link>https://www.lemonary.cn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>达梦数据库服务器的磁盘I/O监控指南</title>
		<link>https://www.lemonary.cn/%e8%be%be%e6%a2%a6%e6%95%b0%e6%8d%ae%e5%ba%93%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%9a%84%e7%a3%81%e7%9b%98i-o%e7%9b%91%e6%8e%a7%e6%8c%87%e5%8d%97/</link>
					<comments>https://www.lemonary.cn/%e8%be%be%e6%a2%a6%e6%95%b0%e6%8d%ae%e5%ba%93%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%9a%84%e7%a3%81%e7%9b%98i-o%e7%9b%91%e6%8e%a7%e6%8c%87%e5%8d%97/#respond</comments>
		
		<dc:creator><![CDATA[shine]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 07:34:44 +0000</pubDate>
				<category><![CDATA[DM]]></category>
		<category><![CDATA[I/O]]></category>
		<guid isPermaLink="false">https://www.lemonary.cn/?p=2828</guid>

					<description><![CDATA[一、为什么要监控磁盘 I/O 磁盘 I/O 性能直接影响到达梦数据库的事务响应速度、日志写入效率以及整体吞吐量 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">一、为什么要监控磁盘 I/O</h2>



<p>磁盘 I/O 性能直接影响到达梦数据库的事务响应速度、日志写入效率以及整体吞吐量。监控磁盘 I/O 的目的包括：</p>



<ul class="wp-block-list">
<li><strong>保障数据库响应时间</strong>：达梦数据库在大量并发写入（如 redo log、数据页刷盘）时，I/O 延迟过大会导致事务等待，降低 TPS。</li>



<li><strong>提前发现瓶颈</strong>：通过观察磁盘繁忙度（%util）和平均等待时间（await），可在性能问题影响用户之前进行干预。</li>



<li><strong>容量规划</strong>：了解 I/O 增长趋势，决定何时升级存储（如从 HDD 换为 SSD）或拆分数据文件。</li>



<li><strong>验证优化效果</strong>：修改达梦参数（如 <code>BUFFER</code>、<code>CKPT_INTERVAL</code>）或更换磁盘调度器后，通过 I/O 指标量化改进。</li>
</ul>



<h2 class="wp-block-heading">二、达梦数据库的 I/O 特征</h2>



<p>在监控之前，需要了解达梦数据库产生磁盘 I/O 的主要场景：</p>



<div class="wpdt-c row wpDataTableContainerSimpleTable wpDataTables wpDataTablesWrapper
"
    >
        <table id="wpdtSimpleTable-45"
           style="border-collapse:collapse;
                   border-spacing:0px;"
           class="wpdtSimpleTable wpDataTable"
           data-column="3"
           data-rows="6"
           data-wpID="45"
           data-responsive="0"
           data-has-header="0">

                    <tbody>        <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A1"
                    data-col-index="0"
                    data-row-index="0"
                    style=" width:19.459459459459%;                    padding:10px;
                    "
                    >
                                        I/O 类型                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="B1"
                    data-col-index="1"
                    data-row-index="0"
                    style=" width:52.216216216216%;                    padding:10px;
                    "
                    >
                                        说明                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="C1"
                    data-col-index="2"
                    data-row-index="0"
                    style=" width:28.324324324324%;                    padding:10px;
                    "
                    >
                                        典型特征                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A2"
                    data-col-index="0"
                    data-row-index="1"
                    style="                    padding:10px;
                    "
                    >
                                        数据文件读写                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B2"
                    data-col-index="1"
                    data-row-index="1"
                    style="                    padding:10px;
                    "
                    >
                                        查询时读取数据页，DML/DDL 时修改数据页并最终由检查点写回                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C2"
                    data-col-index="2"
                    data-row-index="1"
                    style="                    padding:10px;
                    "
                    >
                                        随机读 + 随机写，读写比例不定                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A3"
                    data-col-index="0"
                    data-row-index="2"
                    style="                    padding:10px;
                    "
                    >
                                        重做日志（redo log）                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B3"
                    data-col-index="1"
                    data-row-index="2"
                    style="                    padding:10px;
                    "
                    >
                                        事务提交时顺序写入 redo 日志，保证持久性                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C3"
                    data-col-index="2"
                    data-row-index="2"
                    style="                    padding:10px;
                    "
                    >
                                        顺序写，延迟敏感，写吞吐量较高                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A4"
                    data-col-index="0"
                    data-row-index="3"
                    style="                    padding:10px;
                    "
                    >
                                        归档日志                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B4"
                    data-col-index="1"
                    data-row-index="3"
                    style="                    padding:10px;
                    "
                    >
                                        日志切换后归档，通常为顺序写                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C4"
                    data-col-index="2"
                    data-row-index="3"
                    style="                    padding:10px;
                    "
                    >
                                        顺序写，可能占用大量带宽                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A5"
                    data-col-index="0"
                    data-row-index="4"
                    style="                    padding:10px;
                    "
                    >
                                        临时表空间                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B5"
                    data-col-index="1"
                    data-row-index="4"
                    style="                    padding:10px;
                    "
                    >
                                        排序、哈希连接等操作使用临时表空间                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C5"
                    data-col-index="2"
                    data-row-index="4"
                    style="                    padding:10px;
                    "
                    >
                                        多为读写混合，可能产生大量 I/O                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A6"
                    data-col-index="0"
                    data-row-index="5"
                    style="                    padding:10px;
                    "
                    >
                                        备份与恢复                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B6"
                    data-col-index="1"
                    data-row-index="5"
                    style="                    padding:10px;
                    "
                    >
                                        使用 dmrman 或 dexp 进行备份/导出                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C6"
                    data-col-index="2"
                    data-row-index="5"
                    style="                    padding:10px;
                    "
                    >
                                        顺序读或写，占用高带宽                    </td>
                                        </tr>
                    </table>
</div><style id='wpdt-custom-style-45'>
.wpdt-fs-000016 { font-size: 16px !important;}
</style>




<h2 class="wp-block-heading">三、核心 I/O 指标解读</h2>



<p>使用 <code>iostat -x -d -m 1</code> 可以获得以下关键指标。掌握这些指标是分析 I/O 性能的基础。</p>



<div class="wpdt-c row wpDataTableContainerSimpleTable wpDataTables wpDataTablesWrapper
"
    >
        <table id="wpdtSimpleTable-46"
           style="border-collapse:collapse;
                   border-spacing:0px;"
           class="wpdtSimpleTable wpDataTable"
           data-column="3"
           data-rows="7"
           data-wpID="46"
           data-responsive="0"
           data-has-header="0">

                    <tbody>        <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A1"
                    data-col-index="0"
                    data-row-index="0"
                    style=" width:10.352941176471%;                    padding:10px;
                    "
                    >
                                        指标                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="B1"
                    data-col-index="1"
                    data-row-index="0"
                    style=" width:59.921568627451%;                    padding:10px;
                    "
                    >
                                        含义                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="C1"
                    data-col-index="2"
                    data-row-index="0"
                    style=" width:29.725490196078%;                    padding:10px;
                    "
                    >
                                        健康范围参考（针对达梦数据库）                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A2"
                    data-col-index="0"
                    data-row-index="1"
                    style="                    padding:10px;
                    "
                    >
                                        r/s, w/s                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B2"
                    data-col-index="1"
                    data-row-index="1"
                    style="                    padding:10px;
                    "
                    >
                                        每秒读/写请求次数（IOPS）                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C2"
                    data-col-index="2"
                    data-row-index="1"
                    style="                    padding:10px;
                    "
                    >
                                        普通 SAS HDD 约 200~300，SSD 可达 5000+                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A3"
                    data-col-index="0"
                    data-row-index="2"
                    style="                    padding:10px;
                    "
                    >
                                        rMB/s, wMB/s                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B3"
                    data-col-index="1"
                    data-row-index="2"
                    style="                    padding:10px;
                    "
                    >
                                        每秒读/写数据量（吞吐量）                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C3"
                    data-col-index="2"
                    data-row-index="2"
                    style="                    padding:10px;
                    "
                    >
                                        HDD 约 100~200 MB/s，SATA SSD ~500 MB/s                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A4"
                    data-col-index="0"
                    data-row-index="3"
                    style="                    padding:10px;
                    "
                    >
                                        %util                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B4"
                    data-col-index="1"
                    data-row-index="3"
                    style="                    padding:10px;
                    "
                    >
                                        磁盘繁忙度，表示 I/O 请求在时间上的占比。若持续 > 80%，说明磁盘可能成为瓶颈                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C4"
                    data-col-index="2"
                    data-row-index="3"
                    style="                    padding:10px;
                    "
                    >
                                        达梦 OLTP 建议 < 70%；OLAP 可允许短期 100%                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A5"
                    data-col-index="0"
                    data-row-index="4"
                    style="                    padding:10px;
                    "
                    >
                                        await                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B5"
                    data-col-index="1"
                    data-row-index="4"
                    style="                    padding:10px;
                    "
                    >
                                        平均每次 I/O 请求的响应时间（毫秒）。对 redo log 写入尤其重要                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C5"
                    data-col-index="2"
                    data-row-index="4"
                    style="                    padding:10px;
                    "
                    >
                                        SSD < 2ms，HDD < 10ms；> 20ms 需告警                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A6"
                    data-col-index="0"
                    data-row-index="5"
                    style="                    padding:10px;
                    "
                    >
                                        avgrq-sz                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B6"
                    data-col-index="1"
                    data-row-index="5"
                    style="                    padding:10px;
                    "
                    >
                                        平均请求大小（扇区数，512 字节/扇区）。达梦默认数据页大小通常为 8KB 或 16KB（对应 16~32 扇区）                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C6"
                    data-col-index="2"
                    data-row-index="5"
                    style="                    padding:10px;
                    "
                    >
                                        数据库场景常见 16~64 扇区（8~32 KB）                    </td>
                                        </tr>
                            <tr class="wpdt-cell-row " >
                                <td class="wpdt-cell wpdt-fs-000016 wpdt-bold"
                                            data-cell-id="A7"
                    data-col-index="0"
                    data-row-index="6"
                    style="                    padding:10px;
                    "
                    >
                                        aq-sz                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="B7"
                    data-col-index="1"
                    data-row-index="6"
                    style="                    padding:10px;
                    "
                    >
                                        平均队列深度。若持续 > 2 且 await 升高，说明 I/O 压力较大                    </td>
                                                <td class="wpdt-cell wpdt-fs-000016"
                                            data-cell-id="C7"
                    data-col-index="2"
                    data-row-index="6"
                    style="                    padding:10px;
                    "
                    >
                                        一般 < 2，高并发时可接受 4~5                    </td>
                                        </tr>
                    </table>
</div><style id='wpdt-custom-style-46'>
.wpdt-fs-000016 { font-size: 16px !important;}
</style>




<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>注意</strong>：<code>%util</code> 高不一定表示磁盘坏，也可能是高性能设备（如 NVMe SSD）在多队列下利用率高但延迟仍很低。需结合 <code>await</code> 判断。</p>
</blockquote>



<h2 class="wp-block-heading">四、识别设备映射</h2>



<p>在使用 LVM（逻辑卷管理）时，<code>iostat</code> 会显示 <code>dm-0</code>、<code>dm-1</code> 等设备名。你需要知道这些设备对应哪些达梦相关的文件系统。</p>



<p><strong>使用 <code>lsblk</code> 查看树形关系</strong></p>



<pre class="wp-block-code"><code>--输出示例：
sda
└─sda3
   ├─klas-root (dm-0)  /
   ├─klas-swap  (dm-1) &#091;SWAP]
   └─klas-backup(dm-2)</code></pre>



<p>说明：</p>



<p><code>dm-0</code> → 根文件系统 <code>/</code>，若达梦软件安装在此，数据文件、redo log 也在此。<br><code>dm-1</code> → swap，监控其 I/O 可判断内存是否不足。<br><code>dm-2</code> → 备份卷，未挂载则无 I/O。</p>



<h2 class="wp-block-heading">五、常用监控命令与工具</h2>



<h3 class="wp-block-heading">5.1 实时监控（推荐组合）</h3>



<pre class="wp-block-code"><code># 每 2 秒显示所有磁盘的扩展统计，以 MB 为单位
iostat -x -d -m 2

# 只关注达梦数据目录所在的磁盘（如 dm-0）
iostat -x -d -m dm-0 2</code></pre>



<h3 class="wp-block-heading">5.2 定位 I/O 来源进程</h3>



<p>当发现磁盘繁忙时，使用以下工具找出是哪些进程产生了 I/O：</p>



<pre class="wp-block-code"><code># 类似 top，按 I/O 排序
iotop -o

# 使用 pidstat 查看每个进程的 I/O 统计
pidstat -d 2</code></pre>



<h3 class="wp-block-heading">5.3 长期记录与告警</h3>



<pre class="wp-block-code"><code>#!/bin/bash
# ============================================================
# 脚本名称: io_monitor.sh
# 脚本作者: shine
# 功能描述: 监控 Linux 主机 IO 情况并记录到日志（dmdba 用户版）
# 依赖工具: iostat (sysstat)
# 部署路径: /home/dmdba/io_monitor.sh
# 日志路径: /home/dmdba/io_logs/io_YYYYMMDD.log
# ============================================================

# ---------------------- 配置区域 ----------------------
LOG_DIR="/home/dmdba/io_logs"               # 日志存放目录（dmdba 可写）
LOG_FILE="${LOG_DIR}/io_$(date +%Y%m%d).log" # 按天分割日志
SAMPLE_COUNT=3                              # 采样次数
SAMPLE_INTERVAL=2                           # 采样间隔（秒）
# -----------------------------------------------------

# 检查 iostat 是否存在
if ! command -v iostat &amp;>/dev/null; then
    echo "错误：iostat 命令未找到，请确保已安装 sysstat。" >&amp;2
    exit 1
fi

# 创建日志目录（如果不存在）
mkdir -p "$LOG_DIR" || {
    echo "错误：无法创建日志目录 $LOG_DIR" >&amp;2
    exit 1
}

# 记录开始标记及采样数据
{
    echo "==================== $(date '+%Y-%m-%d %H:%M:%S') ===================="
    echo "采样参数: 间隔=${SAMPLE_INTERVAL}秒, 次数=${SAMPLE_COUNT}"
    echo ""

    # 执行 iostat 采集
    # -x : 显示扩展统计信息（含 await、%util 等关键指标）
    # -d : 仅显示设备利用率报告
    # -t : 打印时间戳
    # -m : 吞吐量以 MB/s 为单位（便于阅读高速存储）
    iostat -x -d -t -m "$SAMPLE_INTERVAL" "$SAMPLE_COUNT"

    echo ""
} >> "$LOG_FILE" 2>&amp;1

# 自动压缩 7 天前的原始日志（避免占用过多空间）
find "$LOG_DIR" -type f -name "io_*.log" -mtime +7 -exec gzip -f {} \;

# 自动删除 30 天前的压缩日志（彻底释放空间）
find "$LOG_DIR" -type f -name "io_*.log.gz" -mtime +30 -delete</code></pre>



<p>将以上脚本加入 crontab，每5分钟记录一次，配合监控系统（如 Zabbix、Prometheus）设置告警：</p>



<ul class="wp-block-list">
<li><code>await > 20</code>（SSD 场景）</li>



<li><code>%util > 80</code> 持续 5 分钟</li>
</ul>



<h2 class="wp-block-heading">六、总结</h2>



<p>磁盘 I/O 是达梦数据库性能的关键因素之一。通过定期使用 <code>iostat</code> 等工具监控核心指标，结合 <code>lsblk</code> 明确设备映射，并掌握针对达梦特征的分析方法，可以快速定位 I/O 瓶颈，做出合理的优化决策。建议将 I/O 监控纳入日常运维巡检体系，并与达梦自身的动态性能视图（如 <code>V$SQL_STAT</code>、<code>V$SESSION_STAT</code>、<code>V$LATCHES</code>）配合使用，形成完整的性能分析闭环。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.lemonary.cn/%e8%be%be%e6%a2%a6%e6%95%b0%e6%8d%ae%e5%ba%93%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%9a%84%e7%a3%81%e7%9b%98i-o%e7%9b%91%e6%8e%a7%e6%8c%87%e5%8d%97/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
