[Exchange and share] deepin下ext4分区写入速度慢的问题
Tofloor
poster avatar
fslong
deepin beta test group
2023-06-08 01:07
Author

一、测试环境

测试环境是v23,同一块硬盘有ext4的分区,也有xfs的分区,具体如下:

image.png

image.png

image.png

二、测试过程

2.1 使用rsync

image.png

2.2 使用cp

cp命令没有拷贝的过程,只能用iotp来检测,下面是xfs的速度(sata盘这速度你敢信)。
image.png

下面是ext4的速度:

image.png

2.3 使用deepin文管

拷贝到xfs,速度基本与cp测试一致:

image.png

拷贝到ext4,速度也与cp一致:

image.png

三、其他系统情况

网上看到一些评测,大体上两个文件系统差别不大,个人只测试了ok,也是差别不大:

2023-06-07_17-52-42.png

下面是一些网上的测评:

image.png

image.png

image.png

四、疑问

通过前面的测试,我们发现:

  1. 其他操作系统,顺序读写,ext4还要占优势一些,而xfs强在小文件的随机读写,二者差别不大。
  2. 在deepin上,ext4顺序读写居然都跑不过xfs,而在xfs的强项随即读写上就更不用说了。
  3. 个人猜测有可能是固态硬盘二者会有差别,或者deepin在挂载时候参数是否有一些问题。

上面几点让我很费解,正常来讲差别不该这么大的,麻烦请研发排查下到底是什么导致的。

deepin本身就是一个比较吃io的发行版(日志多,配置也是随时记录),ext4如果连本身性能都发挥不了,那是否考量该换别的文件系统了。

之前测试btrfs都比ext4快了,现在手头没用btrfs,如果有老铁感兴趣,也可以测试下btrfs。

Reply Favorite View the author
All Replies
f@deepin
deepin
2023-06-08 01:38
#1

ext4老矣 尚能战否

Reply View the author
青稚
Moderator
2023-06-08 01:41
#2
f@deepin

ext4老矣 尚能战否

这么说比较好,EXT4:廉颇老矣,尚能饭否?

joy

Reply View the author
fslong
deepin beta test group
2023-06-08 01:42
#3
f@deepin

ext4老矣 尚能战否

老的没关系,最起码把自己该有的性能发挥。

Reply View the author
阿尼樱奈奈
Moderator
2023-06-08 01:44
#4

听你这么一说,ext4是不是快要过时了?!

我之后重装系统时试试用btrfs,看看怎么样,听说Windows只要装一个驱动就能访问其文件系统。

Reply View the author
fslong
deepin beta test group
2023-06-08 01:50
#5
阿尼樱奈奈

听你这么一说,ext4是不是快要过时了?!

我之后重装系统时试试用btrfs,看看怎么样,听说Windows只要装一个驱动就能访问其文件系统。

是的,装了驱动就能访问,但要注意会改权限。

Reply View the author
deepin尐助手
deepin
2023-06-08 02:06
#6

btrfs 好用🙂

还可以increment backup

Reply View the author
fslong
deepin beta test group
2023-06-08 02:09
#7
deepin尐助手

btrfs 好用🙂

还可以increment backup

我有问题就直接重装,很快就配置好,他的特性用不到。

Reply View the author
艾丝妲单推人
deepin
2023-06-08 03:16
#8

可是,谁也没听说过ext5啊joy

Reply View the author
fslong
deepin beta test group
2023-06-08 03:37
#9
艾丝妲单推人

可是,谁也没听说过ext5啊joy

搞不好不会有了

Reply View the author
hanzn-zzx
deepin
2023-06-08 03:44
#10

为啥deepin不直接自己搞个硬盘分区格式呢(我知道不可能joy

Reply View the author
希声
deepin
2023-06-08 19:09
#11

一直用btrfs,没出过问题

Reply View the author
核桃
deepin
2023-06-09 01:14
#12

首先看你的测试结果,并没有数量级层面的差异,所以大部分使用的时候,不一定能明显感受到两者速度差异。其次就是,对于ext4的使用,你可以考虑把journal的模式修改一下,如果允许数据的丢失风险提高,可以改为data这样的,提高一点性能。

再者,使用默认参数进行的测试,其实大部分时候效果并不明显的,需要做一些参数调整,例如block size稍微设置大一点,改为128KB甚至更大,可能效果差异会不同的。

还有就是可以测试一下openzfs的,因为zfs的有存储池功能,如果想在本地使用raid功能的话,zfs是非常不错的。

最后就是家用的话,大部分时候差异不会很明显,但是在一些场景下,xfs的稳定性没有ext4好,例如有快照、加了容量限制等功能下。

Reply View the author
fslong
deepin beta test group
2023-06-10 00:46
#13
核桃

首先看你的测试结果,并没有数量级层面的差异,所以大部分使用的时候,不一定能明显感受到两者速度差异。其次就是,对于ext4的使用,你可以考虑把journal的模式修改一下,如果允许数据的丢失风险提高,可以改为data这样的,提高一点性能。

再者,使用默认参数进行的测试,其实大部分时候效果并不明显的,需要做一些参数调整,例如block size稍微设置大一点,改为128KB甚至更大,可能效果差异会不同的。

还有就是可以测试一下openzfs的,因为zfs的有存储池功能,如果想在本地使用raid功能的话,zfs是非常不错的。

最后就是家用的话,大部分时候差异不会很明显,但是在一些场景下,xfs的稳定性没有ext4好,例如有快照、加了容量限制等功能下。

都差了一倍还差的不多呀?

在deepin下日常使用差距挺大的,几个典型使用场景:

  1. 安装系统:xfs格式安装系统时候点安装,大概三四分钟就完了,ext4大概得十分钟。
  2. 遍历文件夹:比如一些需要遍历文件的脚本、还有git,能明显感受到差距很大。
  3. 大文件拷贝:拷贝个几十G文件,那时间就差很久了。比如用户拷贝几个蓝光电影。

至于你说的不要用默认参数测试,我想说的就是默认参数,建议官方研究下格式化、挂载参数有关问题。

deepin的默认参数性能差一倍呀,大部分使用场景用户都用的默认参数,这才是最贴近使用习惯的测试。

Reply View the author
fslong
deepin beta test group
2023-06-10 02:09
#14

找到一篇新的帖子https://blog.51cto.com/imysql/3233298

image.png

c762f499bdbea574f0ebf288a5d1524.png

image.png

大概意思是在ssd下,xfs要比ext4表现好很多,也跟我测试差不多,大概就是ext4没有对ssd有太多优化吧。

Reply View the author
核桃
deepin
2023-06-27 18:53
#15
fslong

找到一篇新的帖子https://blog.51cto.com/imysql/3233298

image.png

c762f499bdbea574f0ebf288a5d1524.png

image.png

大概意思是在ssd下,xfs要比ext4表现好很多,也跟我测试差不多,大概就是ext4没有对ssd有太多优化吧。

这种你可以再试试zfs,因为zfs还有一个功能叫做auto trim功能,这个是优化性能的。当然作为测试可以,目前deepin没有在安装的时候支持zfs。

Reply View the author
核桃
deepin
2023-06-27 18:56
#16
fslong

都差了一倍还差的不多呀?

在deepin下日常使用差距挺大的,几个典型使用场景:

  1. 安装系统:xfs格式安装系统时候点安装,大概三四分钟就完了,ext4大概得十分钟。
  2. 遍历文件夹:比如一些需要遍历文件的脚本、还有git,能明显感受到差距很大。
  3. 大文件拷贝:拷贝个几十G文件,那时间就差很久了。比如用户拷贝几个蓝光电影。

至于你说的不要用默认参数测试,我想说的就是默认参数,建议官方研究下格式化、挂载参数有关问题。

deepin的默认参数性能差一倍呀,大部分使用场景用户都用的默认参数,这才是最贴近使用习惯的测试。

ext4的兼容性和稳定性是很不错的,另外ext4在内核5.x之后是有优化的,当然那不是专门针对ssd的,是和IO调度相关的。因此这种优化吧,很难说明显与否的。

同时测试的效果,也要看情况的,可能你隔了一个小时后测试,结果又不会相差那么大。因为测试的时候,当你把之前的文件全部删除之后,然后等磁盘清理完成,ssd做了空间回收等等,那么下一次测试会更加干净一点。

从deepin的角度来看,默认选择一个稳定性的系统比性能更加重要。

Reply View the author
fslong
deepin beta test group
2023-07-09 03:19
#17
核桃

ext4的兼容性和稳定性是很不错的,另外ext4在内核5.x之后是有优化的,当然那不是专门针对ssd的,是和IO调度相关的。因此这种优化吧,很难说明显与否的。

同时测试的效果,也要看情况的,可能你隔了一个小时后测试,结果又不会相差那么大。因为测试的时候,当你把之前的文件全部删除之后,然后等磁盘清理完成,ssd做了空间回收等等,那么下一次测试会更加干净一点。

从deepin的角度来看,默认选择一个稳定性的系统比性能更加重要。

后来我搞明白了,是缓存的问题。

xfs好像能更好的利用ssd高速缓存。

ext4这块差点,导致测试差距比较大。

另外重点不在这,重点是deepin下二者差距大,而其他系统正如你所说ext4表现挺优秀的,跟xfs差距不大。

Reply View the author
hotime
deepin
2023-08-28 22:10
#18
It has been deleted!