性能之颠-应用程序性能技术

本文深入探讨了提高应用程序性能的关键技术,包括选择合适的I/O尺寸以降低开销,利用缓存提升读取速度,通过缓冲区优化写操作,使用轮询和非阻塞I/O实现高效事件处理,以及并发和并行处理来充分利用系统资源。理解这些技术有助于优化应用的性能表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5.2 应用程序性能技术

本节讨论了一些提高应用程序性能的常用技术:选择I/O 大小、缓存、缓冲区、轮询、并发和并行、非阻塞I/O 和处理器绑定。参考应用程序文档看看这些技术哪些在应用,看看有没有应用程序其他的独有特性。

5.2.1 选择I/O 尺寸

执行I/O 的开销包括初始化缓冲区、系统调用、上下文切换、分配内核元数据、检查进程权限和限制、映射地址到设备、执行内核和驱动代码来执行I/O,以及,在最后释放元数据和缓冲区。“初始化开销”对于小型和大型的I/O 都是差不多的。从效率上来说,每次I/O 传输的数据越多,效率越高。

增加I/O 尺寸是应用程序提高吞吐量的常用策略。考虑到每次I/O 的固定开销,一次I/O 传输128KB 要比128 次传输1KB 高效得多。尤其是磁盘I/O,由于寻道时间,每次I/O 开销都较高。

如果应用程序不需要,更大的I/O 尺寸也会带来负面效应。一个执行8KB 随机读取的数据库按128KB I/O 的尺寸运行会慢得多,因为120KB 的数据传输能力被浪费了。选择小一些的I/O尺寸,更贴近应用程序所需,能降低引起的I/O 延时。不必要的大尺寸I/O 还会浪费缓存的空间。

5.2.2 缓存

操作系统用缓存提高文件系统的读性能和内存的分配性能,应用程序使用缓存也出于类似的原因。将经常执行的操作的结果保存在本地缓存中以备后用,而非总是执行开销较高的操作。数据库缓冲区高速缓存就是一例,该缓存会保存经常执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来AI编程

共鸣===鼓励 打赏您随意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值