Linux-磁盘优化的几个思路

server/2024/10/9 15:25:20/

优化前先看看性能指标

I/O 基准测试

fio(Flexible I/O Tester)正是最常用的文件系统和磁盘 I/O 性能基准测试工具。这类工具非常用,了解即可

应用程序优化

在这里插入图片描述

应用程序处于整个 I/O 栈的最上端,它可以通过系统调用,来调整 I/O 模式(如顺序还是随机、同步还是异步)。

可以有这么几种方式来优化应用程序的 I/O 性能

  • 用追加写代替随机写,减少寻址开销,加快 I/O 写的速度。
  • 借助缓存 I/O ,充分利用系统缓存,降低实际 I/O 的次数
  • 可以在应用程序内部构建自己的缓存,或者用 Redis 这类外部缓存系统。
  • 在需要频繁读写同一块磁盘空间时,可以用 mmap 代替 read/write,减少内存的拷贝次数。
  • 在需要同步写的场景中,尽量将写请求合并,而不是让每个请求都同步写入磁盘,即可以用 fsync() 取代 O_SYNC。
  • 在多个应用程序共享相同磁盘时,为了保证 I/O 不被某个应用完全占用,推荐你使用 cgroups 的 I/O 子系统,来限制进程 / 进程组的 IOPS 以及吞吐量。
  • 在使用 CFQ 调度器时,可以用 ionice 来调整进程的 I/O 调度优先级,特别是提高核心应用的 I/O 优先级。

文件系统优化

这块个人来说可优化选项不多,主要是通过参数进行调整,如索引节点缓存、目录项缓存回收倾向、脏页刷新频率等

磁盘优化

  • SSD 替代 HDD
  • 使用 RAID ,多块磁盘组合成一个逻辑磁盘,构成冗余独立磁盘阵列。这样做既可以提高数据的可靠性,又可以提升数据的访问性能
  • 磁盘隔离,比如,我们可以为日志、数据库等 I/O 压力比较重的应用,配置单独的磁盘。
  • 在顺序读比较多的场景中,我们可以增大磁盘的预读数据

http://www.ppmy.cn/server/129334.html

相关文章

The legacy JS API is deprecated and will be removed in Dart Sass 2.0

The legacy JS API is deprecated and will be removed in Dart Sass 2.0 更新了sass版本后,启动项目控制台一直在报错,影响开发效率,强迫症表示忍受不了。 字面意思是:Sass在2.0版本将会移除legacy JS API,所以现在使…

C++面试速通宝典——15

254. STL有哪些容器?各自特点? 序列容器: vector:动态数组,支持快速随机访问。list:双向链表,支持快速插入和删除。deque:双端队列,两端都可以快速插入和删除。 关联容器…

如何获取网页内嵌入的视频?

如何获取网页内嵌入的视频? 有时插件无法识别的视频资源,可以通过手动使用浏览器的开发者工具来抓取。你可以按照以下步骤操作: 步骤: 打开网页并按 F12:在视频页面按下 F12 或右键点击网页并选择“检查”或“Inspe…

Spring Boot教学资源库:开发者的成长之路

2 相关技术简介 2.1Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任…

LeetCode讲解篇之1043. 分隔数组以得到最大和

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 对于这题我们这么考虑,我们选择以数字的第i个元素做为分隔子数组的右边界,我们需要计算当前分隔子数组的长度为多少时能让数组[0, i]进行分隔数组的和最大 我们用数组f表示[0, i)区间内的…

诺贝尔物理学奖新篇章:AI之父的非凡成就与物理学的不解之缘!

2024 年 10 月 8 日北京时间 17 时 45 分许,约翰J.霍普菲尔德 (John J. Hopfield) 和杰弗里E.欣顿(Geoffrey E. Hinton)因奠定借助统计物理学思想训练人工神经网络的基础,获得 2024 年诺贝尔物理学奖。辛顿在接受电话采访时表示&a…

Java报错输出的信息究竟是什么?

Java报错输出的信息究竟是什么? 本篇会带大家了解一下java运行时报错输出的信息内容,简单学习一下虚拟机内存中Java虚拟机栈的工作方式以及栈帧中所存储的信息内容 异常信息 当你的程序运行报错时,你是否会好奇打印出来的那一大坨红色的究竟…

如何在银河麒麟服务器中获取关键日志信息

如何在银河麒麟服务器中获取关键日志信息 1、获取messages日志2、获取dmesg输出 💖The Begin💖点点关注,收藏不迷路💖 在银河麒麟服务器中,获取messages和dmesg日志是排查问题的重要步骤。 1、dmesg命令用于显示或控制…