Linux-磁盘优化的几个思路
优化前先看看性能指标
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 压力比较重的应用,配置单独的磁盘。
- 在顺序读比较多的场景中,我们可以增大磁盘的预读数据
相关文章:
Linux-磁盘优化的几个思路
优化前先看看性能指标 I/O 基准测试 fio(Flexible I/O Tester)正是最常用的文件系统和磁盘 I/O 性能基准测试工具。这类工具非常用,了解即可 应用程序优化 应用程序处于整个 I/O 栈的最上端,它可以通过系统调用,来调…...
【第三版 系统集成项目管理工程师】第15章 组织保障
持续更新。。。。。。。。。。。。。。。 【第三版】第十五章 组织保障 15.1信息和文档管理15.1.1 信息和文档1.信息系统信息-P5462.信息系统文档-P546 15.1.2 信息(文档)管理规则和方法1.信息(文档)编制规范-P5472.信息(文档)定级保护-P5483.信息(文档)配置管理-P549练习 15.…...
从编程视角看生命、爱、自由、生活的排列顺序
从编程视角看生命、爱、自由、生活的排列顺序 离开大学校园,踏入大厂成为一名算法工程师后,我常以编程思维看待生活中的事物。在思考生命、爱、自由和生活的排列顺序时,发现从编程角度分析这些概念会有独特见解。 一、生命——程序的核心代…...
Lumerical——属性编辑窗口的详解
一、几何选项卡(Geometry tab) 通过几何选项卡中的选项可以设定物件的位置和大小。 二、材料选项卡(Material tab) ① 材料(MATERIAL): 在该字段可以设置成材料数据库中包含的任何材料。数据库也有可能包含一些新材料,也可以对已经包含的材料进行编辑。如果选…...
08实战篇:972应用题(2024)思路解析
在本节中,你将学习到: 2024年972应用题的基本解题思路如何应对陌生的社会/学术热点问题,避免初见杀题目一:阐述搜索引擎的工作基本原理 关键词:搜索引擎、基本原理题型:基础概念题这是一道混在应用题中的简答题。根据《信息检索》一书中的P37内容回答即可(同时对应P45—…...
解决应用程序启动失败问题:由于找不到d3dx9_43.dll文件,如何快速有效地恢复和修复缺失的DLL组件
由于找不到d3dx9_43.dll,许多用户在启动某些游戏或者图形相关软件时遇到了棘手的问题。这个小小的DLL文件,虽然看似不起眼,却在众多基于DirectX 9技术构建的应用程序中扮演着至关重要的角色。对于游戏爱好者来说,当满心欢喜地准备…...
Ubuntu——双系统Ubuntu22.04系统安装和基础配置
文章目录 一、Ubuntu22.04双系统安装双系统安装和卸载 二、基础配置更新软件源搜狗输入法TimeShift上网 三、AI配置CondaCUDA12.6Pytorch2.3.0-cu121 四、额外配置Samba局域网文件共享系统 一、Ubuntu22.04双系统安装 双系统安装和卸载 双系统卸载安装Ubuntu双系统windows系统…...
stm32定时器中断和外部中断
一,中断系统的介绍 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行 中…...
LeetCode 每日一题 2024/9/30-2024/10/6
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 9/30 1845. 座位预约管理系统10/1 983. 最低票价10/2 1870. 准时到达的列车最小时速10/3 1928. 规定时间内到达终点的最小花费10/4 1227. 飞机座位分配概率10/5 2187. 完成…...
Redis篇(最佳实践)(持续更新迭代)
介绍一:键值设计 一、优雅的key结构 Redis 的 Key 虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id]长度不超过 44 字节不包含特殊字符 例如: 我们的登录业务࿰…...
详细介绍pandas 在python中的用法
Pandas 是 Python 中非常流行的数据分析和处理库,特别适用于处理结构化数据。它构建在 NumPy 之上,提供了更高级的功能,例如数据清理、整理、筛选和统计分析。Pandas 的核心数据结构是 Series 和 DataFrame,分别用于处理一维数据和…...
八字命理测算系统开发-源码搭建
八字命理测算系统的开发是一个结合了传统命理学与现代科技的项目,旨在为用户提供基于个人出生年、月、日、时等信息的个性化命理分析和预测。以下是开发此类系统时需要考虑的关键步骤和技术要点: 一、前期准备 1.确定需求和目标用户 与客户或团队讨论&am…...
Python批量读取mat文件
一、前言 使用Python中的h5py库实现同一目录下多个mat文件的批量读取功能,获取数据、lon、lat等信息,其他变量内容可根据自己的mat格式进行更改。 二、代码 def open_matfiles(dir, start_indexNone, end_indexNone,lev_indexNone,lev_valueNone):打开…...
UE4 材质学习笔记05(凹凸偏移和视差映射/纹理压缩设置)
一.凹凸偏移和视差映射 1.偏移映射 这需要一个高度图并且它的分辨率很低,只有256*256,事实上,如果高度图的分辨率比较低并且有点模糊,效果反而会更好 然后将高度图输出到BumpOffset节点的height插槽中, 之后利用得到…...
基于贝叶斯决策的 CAD 程序设计方案
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
算法: 二分查找题目练习
文章目录 二分查找二分查找在排序数组中查找元素的第一个和最后一个位置搜索插入位置x 的平方根山脉数组的峰顶索引寻找峰值寻找旋转排序数组中的最小值点名 总结模版 二分查找 二分查找 没啥可说的,轻轻松松~ class Solution {public int search(int[] nums, int target) {i…...
Qt开发技巧(十三)QList插入操作,扩展类型的使用,关于QSS的坑,Qt的延时方法,Qt编译的三种版本,环境搭建多练练,指向Qt源码的报错
继续讲一些Qt开发中的技巧操作: 1.QList插入操作 关于QList队列的处理中,我们最常用的就是调用append函数添加item,往前插入item很多人第一印象就是调用insert(0,xxx)来插入,其实QList完全提供了往前追加item的函数prepend()、pus…...
docker快速上手
一个轻量的虚拟机,让程序员不再纠结于环境部署,更多集中于代码编写,基础建设,开发 作用: 打包:把你软件运行所需的所有东西打包到一起 分发:把你打包好的“安装包”上传到一个镜像仓库&#…...
JAVA学习-练习试用Java实现“反转链表 II”
问题: 给定单链表的头指针 head 和两个整数 left 和 right ,其中 left < right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示例 1: 输入:head [1,2,3,4,5], left 2, right 4 输出…...
15分钟学 Python 第35天 :Python 爬虫入门(一)
Day 35 : Python 爬虫简介 1.1 什么是爬虫? 网页爬虫(Web Crawler)是自动访问互联网并提取所需信息的程序。爬虫的主要功能是模拟用户通过浏览器访问网页的操作,从而实现对网页内容的批量访问与信息提取。它们广泛应用于数据收集…...
COMSOL二维单管渗透注浆模拟:简单又强大
comsol二维单管渗透注浆模拟 可以模拟用于多种土层注浆扩散效果 模型简单易懂,注浆管周边网格进行细化 有模拟案例,有视频详细操作最近,我一直在研究注浆技术在土层加固中的应用,特别是在如何模拟注浆过程中的扩散效果。经过一段时…...
奥尔特云智慧武装系统上线!基层武装管理从此“智”在必得!
随着国防动员与基层武装工作不断升级,传统管理模式存在信息化覆盖不全、数据归集粗放、智能化水平不足等问题,已难以适配高效管理与应急应战需求,数字化转型成为必然趋势。智慧武装系统是奥尔特云(深圳)智慧科技打造的…...
避开这5个坑!MES工艺路线管理中的常见错误及解决方案
避开这5个坑!MES工艺路线管理中的常见错误及解决方案 在制造业数字化转型的浪潮中,MES(制造执行系统)已成为提升生产效率的关键工具。然而,许多企业在实施工艺路线管理模块时,常常陷入一些看似简单却影响深…...
终极指南:QLVideo让macOS视频预览支持200+格式,Finder管理效率提升300%
终极指南:QLVideo让macOS视频预览支持200格式,Finder管理效率提升300% 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. …...
芯片设计Signoff前必看!数字后端工程师的5大验证避坑清单(含CTS实战案例)
芯片设计Signoff前必看!数字后端工程师的5大验证避坑清单(含CTS实战案例) 在数字后端设计的最后冲刺阶段,每个工程师都经历过那种如履薄冰的体验——明明所有检查项都已通过,却在流片前夜发现某个角落的时序违例。这种…...
【AI智能体】Dify 实战:构建企业级自然语言SQL查询引擎
1. 从个人工具到企业级解决方案的跨越 第一次接触Dify的自然语言转SQL功能时,我被它的便捷性惊艳到了。只需要输入"显示上季度销售额最高的产品",系统就能自动生成正确的SQL语句。但当我尝试在团队中推广使用时,各种问题接踵而至&a…...
013、部署篇:从本地开发到云原生(Docker/K8s)服务化部署
013、部署篇:从本地开发到云原生(Docker/K8s)服务化部署一、从一次深夜调试说起 上周三凌晨两点,我被报警短信吵醒——线上RAG服务的响应时间从200ms飙到了5秒。登录服务器一看,CPU跑满了,内存倒是还剩不少…...
Git 本地版本控制极简使用笔记(Qt 项目专用)
核心原则全程仅需掌握5 个核心命令,满足日常开发、版本记录、回滚修复的全部需求,无需复杂操作,适配传感器环筛管理平台项目一、基础准备(已完成,备查)1. 仓库初始化(仅执行 1 次)# …...
Realistic Vision V5.1 Streamlit界面源码解析:如何扩展自定义摄影滤镜
Realistic Vision V5.1 Streamlit界面源码解析:如何扩展自定义摄影滤镜 1. 项目背景与技术特点 Realistic Vision V5.1是目前SD 1.5生态中最顶级的写实风格模型之一,能够生成媲美专业单反相机拍摄的人像作品。本项目通过Streamlit框架构建了直观的交互…...
EcomGPT-7B模型文件结构与代码解读:从Hugging Face到生产部署
EcomGPT-7B模型文件结构与代码解读:从Hugging Face到生产部署 如果你已经玩过一些开箱即用的AI模型,可能会好奇,一个像EcomGPT-7B这样的模型,它到底是由哪些文件组成的?那些配置文件里密密麻麻的参数都是什么意思&…...
