xfs文件系统优化

2023-05-16

[size=medium]网上搜集的xfs文件系统优化方案,自己做个小结。

[b]先贴出优化前后的对比,只是简单的用dd命令测试了一下而已,不怎么专业。写和读的文件为内存2倍。[/b][/size]
[code="java"]优化前:
#写性能
# dd if=/dev/zero of=/data/test bs=8M count=1000
1000+0 records in
1000+0 records out
8388608000 bytes (8.4 GB) copied, 172.835 seconds, 48.5 MB/s
#读性能
# dd if=/data/test of=/dev/null bs=8M count=1000
1000+0 records in
1000+0 records out
8388608000 bytes (8.4 GB) copied, 89.7978 seconds, 93.4 MB/s
优化后:
#写性能
# dd if=/dev/zero of=/DaTa/test bs=8M count=1000
1000+0 records in
1000+0 records out
8388608000 bytes (8.4 GB) copied, 70.1252 seconds, 120 MB/s
#读性能
# dd if=/DaTa/test of=/dev/null bs=8M count=1000
1000+0 records in
1000+0 records out
8388608000 bytes (8.4 GB) copied, 47.0801 seconds, 178 MB/s[/code]

[size=medium][b]先是格式化xfs分区mkfs.xfs的参数(你也可以只设置-i size=512,其他会根据分区大小自动选择):[/b][/size]
mkfs.xfs -f -i size=512 -l size=128m,lazy-count=1 -d agcount=16 /dev/sdb1

[size=medium] -i size=512 : 默认的值是256KB,这里的设置是为了selinux的,这个设置针对inode size,selinux使用xfs的Extend Attribute,首先要写到inode中,如果容量不够(默认是256KB的时候就不够,刚刚多一点点),就写到block中,这会损失性能,当需要使用selinux的时候。这似乎对一般用户没什么作用,因为一般用户都不用selinux的,大家对linux系统的安全性还是挺信任的,不过,说实话,我不信任,况且RedHat 的FC已经默认配置了selinux,这很好。做了这个改动,方便以后我在系统中配置selinux而不担心性能的损失。

-l size=128m :注意是小写的m,不是大写的。默认值的是10m(bsize=4096 x blocks=2560)。这个值可以设置成32m(分区容量不小于250M)/64m(分区容量不小于500M)/128m(分区容量不小于700M),对于分区容量的限制,我这里列出的只是大概,最大可设128m。修改这个参数成128m,可以显著的提高xfs文件系统删除文件的速度,当然还有其它,如拷贝文件的速度。 这个参数需要大内存的支持,内存太少的机器大概不能设置这么高。(标准是什么?512M?1G?我不了解,所以我上面说要自己实际的测试一下。)

-l lazy-count=value
This changes the method of logging various persistent counters in the superblock. Under metadata intensive workloads, these counters are updated and logged frequently enough that the superblock updates become a serialisation point in the filesystem. The value can be either 0 or 1.
With lazy-count=1, the superblock is not modified or logged on every change of the persis-tent counters. Instead, enough information is kept in other parts of the filesystem to be able to maintain the persistent counter values without needed to keep them in the superblock. This gives significant improvements in performance on some configurations. The default value is 0 (off) so you must specify lazy-count=1 if you want to make use of this feature.

-d agcount=4 :默认值是根据容量自动设置的。可以设置成1/2/4/16等等,这个参数可以调节对CPU的占用率,值越小,占用率越低。这是理论上的,在我的机器上,agcount=1反而比agcount=2的cpu占用率还高,我想这是因为我的cpu是双核的原因吧。要注意,cpu的占用率低,那每一秒处理的数据量也会降低一些。我比较了agcount=2和4,发现还是4比较好。这样一来,这个参数的设置,就是需要自己去选择的了。

[b]然后是mount的xfs选项(关键参数nobarrier):[/b][/size]
vi /etc/fstab
#修改挂载选项
/dev/sdb1 /data xfs defaults,noatime,nobarrier 0 0
#重新挂载
mount -o remount /data

[size=medium]

nobarrier
Many hardware RAID have a persistent write cache which preserves it across power failure, interface resets, system crashes, etc. Using write barriers in this instance is not recommended and will in fact lower performance. Therefore, it is recommended to turn off the barrier support and mount the filesystem with "nobarrier". But take care about the hard disk write cache, which should be off.

noatime 默认的方式下linux会把文件访问的时间atime做记录,这在绝大部分的场合都是没有必要的,如果遇到机器IO负载高或是CPU WAIT高的情况,可以尝试使用noatime,疗效好,见效快。

logbufs=value
Set the number of in-memory log buffers. Valid numbers range from 2-8 inclusive. The default value is 8 buffers for filesystems with a blocksize of 64K, 4 buffers for filesystems with a blocksize of 32K, 3 buffers for filesystems with a blocksize of 16K, and 2 buffers for all other configurations. Increasing the number of buffers may increase performance on some workloads at the cost of the memory used for the additional log buffers and their associated control structures.

logbsize=value
Set the size of each in-memory log buffer. Valid sizes are 16384 (16K) and 32768 (32K). The default value for machines with more than 32MB of memory is 32768, machines with less memory use 16384 by default.[/size]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xfs文件系统优化 的相关文章

  • Insertion Sort List

    Sort a linked list using insertion sort 对一个线性链表排序 xff0c 维护两对指针即可 ListNode insertionSortList ListNode head if head return
  • mac上忘记mysql密码完美解决方案

    最近项目用到mysql xff0c 之前装过一个 xff0c 可是忘记了当时设置的密码 xff0c 然后走上了修改密码的坎坷道路 在百度 xff0c Google了一堆资料之后还是 xff0c 发现处处是给程序员埋的坑 于是下决心 xff0
  • Word Search

    Given a 2D board and a word find if the word exists in the grid The word can be constructed from letters of sequentially
  • 网络编程概述

    今天开始正式学习网络编程这一块 xff0c 特做此笔记记录学习过程 要编写通过计算机网络通信的程序 xff0c 首先要确定这些程序相互通信所用的protocol 在深入设计一个协议的细节之前 xff0c 应该从高层次决断通信由哪个程序发起以
  • unix网络编程(二)Tcp:传输控制协议

    1 TCP xff08 Transmission Control Protocol xff0c 传输控制协议 xff09 xff0c 其提供一下服务 xff1a 一 xff09 TCP提供客户与服务器的链接 xff0c 一个客户建立与一个给
  • TIME_WAIT状态

    在Tcp关闭连接过程中 xff0c 主动关闭的一段会进入TIME WAIT状态 xff0c 且在该状态持续两倍最长分节生命期MSL的时间 Tcp实现中必须选择一个MSL xff08 maximum segment lifetime xff0
  • 《Unix环境高级编程》学习笔记--文件和目录-1

    unix环境高级编程 学习笔记 1 unix环境高级编程学习笔记 1 12 文件长度13 文件截断 4 12 文件长度 文件的长度由stat结构的st size表示 xff0c 以字节为单位 符号链接 xff0c 文件长度为文件名称中的实际

随机推荐

  • GLIBC_2.14’ not found

    usr local mysql bin my print defaults lib64 libc so 6 version 96 GLIBC 2 14 not found问题解决方案 转载site http blog csdn net do
  • CMMI2.0之我见-验证和确认VV&同行评审PR

    编者按 xff1a CMMI2 0之我见系列将通过系列文章形式介绍CMMI2 0所涉及到的其中20个实践域 xff0c 笔者将通过系统性的梳理 浅显易懂的文字描述 xff0c 同时结合笔者的思考和观点 xff0c 对每个实践域的目标以及所基
  • Python数据可视化之Matplotlib-技巧篇

    常用技巧 特殊直线 画出过特定点的无穷直线 xff0c 可以用 axline 来实现 确定平面直线 xff1a 两个不同的点或者一个点和斜率 语法 xff1a plt axline xy1 xy2 61 None slope 61 None
  • IDEA怎么复制错误信息

    方式一 xff1a 鼠标放在该提示上 xff0c 然后选中 xff0c 选中时不要松开鼠标左键 xff0c 同时按ctrl 43 c复制即可 方式二 xff1a 点击错误信息 xff0c 在IDEA最下栏会显示错误信息 xff0c 可以点击
  • commonJs和es6的区别

    commonJs 示例 span class token comment 导入 span span class token keyword const span valid span class token operator 61 span
  • 基于51单片机的蜂鸣器及简谱的学习(编曲)

    目录 文章目录 前言 一 蜂鸣器 1 无源蜂鸣器原理图 2 集成电路驱动 xff08 五线四项步进电机 xff09 3 三极管驱动 编辑 4 应用电路 4 控制原理 二 乐律部分 1 键盘与音符的对照 编辑 2 音符与频率对照表 总结 前言
  • mysql 创建超级用户

    mysql gt GRANT ALL ON TO 39 dbuser 39 64 39 39 IDENTIFIED BY 39 123456 39 WITH GRANT OPTION Query OK 0 rows affected 0 0
  • 环境类传感器介绍

    经过前几篇的原理讲解 xff0c 大家对市面上类似气体 PM2 5 火焰呀这类传感器有一定的了解 xff0c 但是到采购环节就迷茫了 xff0c 毕竟市面上的产品五花八门 xff0c 挑的眼花缭乱 xff0c 今天给大家介绍几款简单的传感器
  • 速腾聚创 RoboSense RS-Helios 32线激光雷达使用 LeGO-LOAM 算法建图

    实验室无人机平台及相关应用 激光雷达SLAM建图 目录 实验室无人机平台及相关应用激光雷达SLAM建图1 1 RoboSense RS Helios 32线激光雷达配置与使用1 1 1 网口配置激光雷达1 1 2 配置ROS开发环境1 1
  • 实验室无人机平台 Pixhawk 2.4.8 / PX4 v1.9.2

    实验室无人机平台及相关应用 无人机平台 目录 实验室无人机平台及相关应用无人机平台1 硬件1 1 无人机本体1 1 1 四旋翼无人机机架1 1 2 Pixhawk 2 4 8 飞控板1 1 3 电调1 1 4 分电板1 1 5 锂电池1 1
  • vnc客户端无法登陆提示Too many security failures

    vncviewer客户端提示 xff1a Too many security failures mac下的 屏幕共享 提示 xff1a 远程电脑上的软件似乎与此 屏幕共享 版本不兼容 查看服务端端口监听正常 解决方法 xff1a 重置黑名单
  • 如何使用WINSCP连接windows服务器

    非常有用 xff01 xff01 xff01 xff01 xff01 xff01 前沿 winscp是一款非常好用的文件传输工具 xff0c 但往往在windows系统上 xff0c 使用是SFTP模式会出现无法连接的情况其最主要的原因 x
  • 树莓派安装Pandas

    使用pip安装 xff0c 网络问题失败 root 64 raspberrypi span class token operator span usr span class token operator span lib span clas
  • seurat自学笔记1.0 单细胞数据导入

    Python读取 h5ad文件 import anndata import pandas as pd adata 61 anndata read 34 home R R data Seurat PBMC10 output adata h5a
  • 实验室工作站配置多用户远程连接教程(亲测有效版)

    系统版本 xff1a win10 Step1 用户配置 1 1 新建用户 右键此电脑 rightarrow 管理 rightarrow 本地用户和组 右键
  • linux下ftp用wput上传目录

    ftp的put貌似不支持put目录 xff08 谁知道怎么put目录 xff1f xff09 wput可以put目录 xff0c 使用也简单 wput home test ftp ftpusername password 64 ip tes
  • bash中!和#的问题

    size 61 medium 今天执行一条shell命令 xff0c 其中包含了 64 总之是有一段以 开始 xff0c 结果报错event not found 不解 xff0c 查了shell相关资料了解到bash Shell脚本 xff
  • Windows蓝屏代码详解

    size 61 medium Windows蓝屏密码 xff01 补全版 ZT 格式是 xff1a xff08 0x0000 操作已成功完成 0x0001 错误的函数 xff09 1 停止错误编号 0x0000000A 说明文字RQL NO
  • 制作启动U盘加载阵列卡驱动

    size 61 medium 安装服务器时碰到没有阵列卡驱动无法安装的问题大家应该都碰到过 之前一次安装2003碰到没阵列卡驱动 xff0c 解决的办法比较土 xff0c 上网下了张别人做好的集成了raid驱动的2003 这次不行了 xff
  • xfs文件系统优化

    size 61 medium 网上搜集的xfs文件系统优化方案 xff0c 自己做个小结 b 先贴出优化前后的对比 xff0c 只是简单的用dd命令测试了一下而已 xff0c 不怎么专业 写和读的文件为内存2倍 b size code 61