百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

linux服务器磁盘性能测试

gudong366 2025-03-09 16:55 9 浏览

数据库是一个IO密集型的应用(在热点数据量比服务器可用内存大得多的情况下),IO的性能指标,是应用性能、用户体验的极其关键的一个因素,建议参考如下测试模型,对于FIO测试,标红的参数不能调整,对于单个服务器并发数超过1000的系统,且热点数据只有50%常驻内存的数据库服务器,要求该测试指标IOPS高于5000,吞吐量高于150MBPS。

(测试一)dd测试

dd if=/dev/zero of=test bs=32k count=40k oflag=dsync

参数详解:

  • if=文件名:输入文件名,默认为标准输入。即指定源文件。
  • of=文件名:输出文件名,默认为标准输出。即指定目的文件。
  • ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
    obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。
  • count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
  • oflag=DSYNC, IO模式,一般来说数据库有两种IO模型,直接IO和缓存IO。直接IO是对应的输出文件绕开Linux的内存buffer,直接写入磁盘。缓存IO是输出的文件先写入缓存,然后由操作系统的调度落盘。我们这里需要测试裸磁盘的IO,因此直接IO更具有代表性。


测试结果分析:磁盘每秒写入速度,174 MB。一共测试了1.3GB的写入,耗时7.72秒。

(测试二)fio测试

fio -filename=filename -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=32k -size=5G -numjobs=32 -runtime=10 -group_reporting -name=mytest

参数详解:

  • -filename=filename 测试输出的文件名字
  • -direct=1 等同于dd的dsync,采用直接IO的模式,绕开操作系统内存buffer
  • -iodepth 1 当队列深度为1时,增加队列深度,可以测试出磁盘的峰值。
  • -thread 多线程方式测试。
  • -rw=randrw 随机读写
  • -ioengine=psync 测试过程绕过机器自带的buffer,使测试结果更真实(Linux在读写时,数据会先写到缓存,再在后台写到硬盘,读的时候也是优先从缓存中读,这样访问速度会加快,但是一旦掉电,缓存中数据就会清空,所有一种模式为DirectIO,可以跳过缓存,直接读写硬盘)
  • -bs=32k 单次io的块文件大小为32K
  • -size=5G 输出测试文件大小5G
  • -numjobs=32 并发任务32个
  • -runtime=10 测试时间为10s
  • -group_reporting 关于显示结果的,汇总每个进程的信息
  • -name=mytest 测试结果命名mytest


mytest: (g=0): rw=randrw, bs=(R) 32.0KiB-32.0KiB, (W) 32.0KiB-32.0KiB, (T) 32.0KiB-32.0KiB, ioengine=psync, iodepth=1

...

fio-3.7

Starting 32 threads

mytest: Laying out IO file (1 file / 5120MiB)

Jobs: 5 (f=5): [_(1),m(1),_(4),m(2),_(5),m(1),_(7),E(1),_(6),m(1),_(3)][4.4%][r=850KiB/s,w=0KiB/s][r=26,w=0 IOPS][eta 04m:18s]

mytest: (groupid=0, jobs=32): err= 0: pid=21995: Fri Oct 14 16:39:55 2022

read: IOPS=1484, BW=46.4MiB/s (48.6MB/s)(522MiB/11247msec)

clat (usec): min=43, max=1337.3k, avg=19459.88, stdev=43775.36

lat (usec): min=43, max=1337.3k, avg=19460.10, stdev=43775.36

clat percentiles (usec):

| 1.00th=[ 64], 5.00th=[ 67], 10.00th=[ 78],

| 20.00th=[ 1811], 30.00th=[ 3916], 40.00th=[ 5932],

| 50.00th=[ 8094], 60.00th=[ 11338], 70.00th=[ 15926],

| 80.00th=[ 23725], 90.00th=[ 44303], 95.00th=[ 76022],

| 99.00th=[ 191890], 99.50th=[ 248513], 99.90th=[ 455082],

| 99.95th=[ 599786], 99.99th=[1317012]

bw ( KiB/s): min= 64, max= 3776, per=3.52%, avg=1671.08, stdev=658.68, samples=638

iops : min= 2, max= 118, avg=52.17, stdev=20.58, samples=638

write: IOPS=1494, BW=46.7MiB/s (48.0MB/s)(525MiB/11247msec)

clat (usec): min=39, max=221376, avg=185.77, stdev=3436.55

lat (usec): min=39, max=221378, avg=187.98, stdev=3436.69

clat percentiles (usec):

| 1.00th=[ 61], 5.00th=[ 63], 10.00th=[ 64], 20.00th=[ 66],

| 30.00th=[ 67], 40.00th=[ 69], 50.00th=[ 70], 60.00th=[ 72],

| 70.00th=[ 74], 80.00th=[ 80], 90.00th=[ 100], 95.00th=[ 112],

| 99.00th=[ 172], 99.50th=[ 347], 99.90th=[ 47973], 99.95th=[100140],

| 99.99th=[217056]

bw ( KiB/s): min= 64, max= 4224, per=3.53%, avg=1688.79, stdev=808.51, samples=637

iops : min= 2, max= 132, avg=52.72, stdev=25.27, samples=637

lat (usec) : 50=0.21%, 100=51.21%, 250=6.12%, 500=0.50%, 750=0.41%

lat (usec) : 1000=0.23%

lat (msec) : 2=1.76%, 4=4.90%, 10=12.53%, 20=10.18%, 50=7.60%

lat (msec) : 100=2.73%, 250=1.37%, 500=0.20%, 750=0.03%

cpu : usr=0.06%, sys=0.35%, ctx=33902, majf=0, minf=7

IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%

submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%

complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%

issued rwts: total=16693,16811,0,0 short=0,0,0,0 dropped=0,0,0,0

latency : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):

READ: bw=46.4MiB/s (48.6MB/s), 46.4MiB/s-46.4MiB/s (48.6MB/s-48.6MB/s), io=522MiB (547MB), run=11247-11247msec

WRITE: bw=46.7MiB/s (48.0MB/s), 46.7MiB/s-46.7MiB/s (48.0MB/s-48.0MB/s), io=525MiB (551MB), run=11247-11247msec

Disk stats (read/write):

dm-2: ios=16798/16827, merge=0/0, ticks=328943/2649, in_queue=337201, util=99.19%, aggrios=16797/16828, aggrmerge=0/0, aggrticks=335346/2655, aggrin_queue=338244, aggrutil=99.22%

sdb: ios=16797/16828, merge=0/0, ticks=335346/2655, in_queue=338244, util=99.22%

相关推荐

U盘文件被删怎么简单恢复(u盘里的文件被误删了怎么找回)

现在这个社会不是靠关系靠路子,主要还是靠实力。刘强在机关工作,人长得帅气,工作能力又强。唯独一样不好,脾气太大,动不动就发火,因为小事常和同事发生口角。一次他火大的差点把办公桌给掀翻了,领导见他野蛮的...

不小心删除了一些文件?9 个最佳免费硬盘恢复软件

恢复您曾经无意或意外删除的所有文件和数据。您是否曾经错误地删除了一个对您的工作至关重要并导致您丢失所有进度的文件?我们为您提供了一些最好的免费硬盘恢复软件,以帮助您恢复意外删除的文件,以解决您的文件删...

Studio 中文版:数据救援神器,误删 / 分区损坏 / RAID 恢复一键找回

Studio中文版:数据救援神器,误删/分区损坏/RAID恢复一键找回当文件意外删除、分区损坏,或RAID阵列崩溃时,一款可靠的数据恢复工具往往能挽回关键损失。R-Studio中文版...

你值得拥有的11款Linux数据恢复工具

如果你使用的是Linux操作系统,那么你一定想知道一旦硬盘崩溃的话又该如何保存和恢复数据。其实,现在有很多Linux数据恢复工具可以让我们摆脱数据安全的困扰。小编已经为各位准备好了一些最好的Linux...

误删文件内容怎么恢复(误删文件内容怎么恢复回来)

  在日常使用电脑的过程中,误删文件的情况时有发生。无论是由于操作失误还是病毒攻击,误删文件都会给我们带来不小的困扰。幸运的是,随着技术的发展,误删文件恢复已不再是难题。本文将介绍几款国内外知名的误删...

u盘如何恢复删除的文件?推荐5款u盘数据恢复软件!

在日常生活与工作中,U盘作为便捷的数据存储载体,频繁用于传输和保存各类重要文件。然而,误删文件的情况却时有发生,无论是珍贵的照片、重要的工作文档,还是精心制作的视频,一旦删除,都可能带来不小的麻烦。...

怎么恢复删除的数据?5种有效的数据恢复方法汇总!

在数字化办公与生活的时代,电脑里的每一份数据都承载着重要信息。然而,一个误操作就可能导致数据被删除,无论是尚未保存的重要文档,还是珍藏多年的照片,都可能瞬间“消失”。但其实,数据删除并不意味着永久丢...

u盘删除文件怎么找回?5个数据恢复工具汇总,助你巧妙恢复数据!

在日常使用U盘的过程中,误删文件的情况时有发生,重要的工作文档、珍贵的照片视频一旦消失,难免让人焦急万分。别担心,只要选对数据恢复工具,被删除的数据仍有找回的可能。下面就为你汇总5款实用的数据...

Linux下恢复误删文件:思路+实践(linux删除如何恢复)

周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到DaveChinner在邮件列表里提到了这个问题,...

苹果放大招!不用虚拟机了,Mac直接跑Linux容器,开发者效率翻倍

苹果这次真给开发者送福利了!今天凌晨(6月10日),苹果在官宣的Containerization框架直接炸了技术圈——Mac现在能原生运行Linux容器镜像了!这可不是虚拟机那种“套娃”方案,而是基...

7 款老牌经典软件,值得收藏(经典老歌软件)

Calibrehttps://calibre-ebook.com/Calibre是一个电脑电子书管理软件。肯定有人说了,电子书还要管理?那当然了。它的功能更强大的让你想象不到,首先它可以导入PDF,...

神仙级的免费开源电子书阅读器,还支持听书功能

神仙级的免费开源电子书阅读器,还支持听书功能,极空间部署『KoodoReader』哈喽小伙伴们好,我是Stark-C~前段时间不是给大家分享的电子书管理工具『TaleBook』嘛~,然后就有粉丝私信...

如何在Ubuntu系统中重置root密码(ubuntu忘记密码重置root密码命令)

很多人有个问题,就是喜欢把密码设置得很长很复杂,结果谁也没防住,却成功防住了自己ヽ(.ˇдˇ;)ノ对于现代人,特别是年轻人,都有过忘记密码的经历吧。在这篇文章中,我们来了解如何在Ubuntu1...

5款功能强大的PDF阅读器,让PDF阅读更轻松

分享5款功能强大的PDF阅读器,拥有丰富的PDF阅读工具,支持PDF文档划线、笔记、标记等操作,让PDF阅读更轻松!1.嗨动PDF编辑器一款实用的PDF处理软件,不仅可以阅读PDF文档,还能直接编辑、...

上班摸鱼利器! 免费好用的电子书阅读器,NAS轻松部署Koodo Reader

哈喽,大家好我是生活爱好者。笔者也是一名小说爱好者,平时用手机用某信读书,会员也开了,在家看体验也不错,但是上班的时候,在工作快速完成之后,想摸个鱼用手机就不太方便啦,作为爱折腾的人,必须要工作认真,...