技术知识 | IO端应用程序的优化

物联方案

2024年10月21日


对于IO方面,对于应用程序的优化,主要有:


第一,可以用追加写代替随机写,减少寻址开销,加快 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硬盘的工作原理

  • 广域网与局域网在速度方面的比较

  • 技术知识 | 论广域网 的作用和意义

  • 技术知识 | 论局域网的作用和意义

  • 详解数据仓库、数据湖和数据集市的差异

  • 技术知识 | 论数据集市的作用和意义

  • 技术知识 | 论数据湖的作用和意义

  • 技术知识 | 论数据仓库的作用和意义

  • 解析容器与虚拟机的差异:原理与场景

  • 车辆管理系统 | 多环境软件开发的挑战