首页 > 数据库 > > 硬件瓶颈点分析-I/O
通过iostat、pidstat命令或Database Manager、集群健康检查工具查看集群内各节点I/O繁忙度和吞吐量,分析是否存在由于I/O导致的性能瓶颈。
查询服务器I/O的方法主要有以下四种方式:
iostat -xm 1 //1为间隔时间
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdc .01 519.62 2.35 44.10 .31 2.17 109.66 .68 14.62 2.80 15.25 .31 1.42
sdb .01 515.95 5.84 44.78 .89 2.16 123.51 .72 14.19 1.55 15.84 .31 1.55
sdd .02 519.93 2.36 43.91 .32 2.17 110.16 .65 14.12 2.58 14.74 .30 1.38
sde .02 520.26 2.34 45.17 .31 2.18 107.46 .80 16.86 2.92 17.58 .34 1.63
sda 12.07 15.72 3.97 5.01 .07 .08 34.11 .28 30.64 10.11 46.92 .98 .88
“rMB/s”为每秒读取的MB数,“wMB/s”为每秒写入的MB数,“%util”为硬盘使用率。
pidstat -d 1 10 //1为间隔时间,10表示查看占用I/O最多的Top10进程
03:17:12 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
03:17:13 PM 1006 36134 0.00 59436.00 0.00 gaussdb
03:17:13 PM 1006 36137 0.00 73528.00 0.00 gaussdb
03:17:13 PM 1006 36140 4.00 39000.00 0.00 gaussdb
03:17:13 PM 1006 36143 0.00 57972.00 0.00 gaussdb
03:17:13 PM 1006 36743 0.00 54660.00 0.00 gaussdb
03:17:13 PM 1006 36747 0.00 66116.00 0.00 gaussdb
03:17:13 PM 1006 36751 0.00 61260.00 0.00 gaussdb
03:17:13 PM 1006 36755 0.00 69372.00 0.00 gaussdb
“kB_rd/s”为每秒读取的kB数,“kB_wr/s”为每秒写入的kB数。
gs_checkperf
Cluster statistics information:
Host CPU busy time ratio : .69 %
MPPDB CPU time % in busy time : .35 %
Shared Buffer Hit ratio : 99.92 %
In-memory sort ratio : 100.00 %
Physical Reads : 8581
Physical Writes : 2603
DB size : 281 MB
Total Physical writes : 1944
Active SQL count : 3
Session count : 11
显示结果包括每个节点的I/O使用情况,文件读写次数和时间。
也可以使用gs_checkperf --detail命令查询每个节点的详细性能信息。
在“集群资源监控”页面上专门有对I/O情况监控的界面。
df -T若I/O持续过高,建议尝试以下方式降低I/O。
vacuum full tablename;说明:
建议用户在系统空闲时进行VACUUM FULL操作,VACUUM FULL操作会造成短时间内I/O负载重,反而不利于降低I/O。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3158808/ ,如需转载,请注明出处,否则将追究法律责任。