计算机原理
文章平均质量分 92
哦豁灬
这个作者很懒,什么都没留下…
展开
-
零拷贝(Zero Copy)
是Linux提供的一种内存映射文件的机制,它实现了将内核中读缓冲区地址与用户空间缓冲区地址进行映射,从而实现内核缓冲区与用户缓冲区的共享。DMA控制器根据socket缓冲区中的地址和偏移量将数据从内核缓冲区拷贝到网卡中,从而省去了内核空间中仅剩1次CPU拷贝。最主要的变化是,CPU不再和磁盘直接交互,而是DMA和磁盘交互并且将数据从磁盘缓冲区拷贝到内核缓冲区,之后的过程类似。这种方式有2次状态切换、0次CPU拷贝、2次DMA拷贝,但是仍然无法对数据进行修改,并且需要硬件层面DMA的支持,并且。原创 2024-05-29 22:05:49 · 697 阅读 · 0 评论 -
磁盘IO性能优化
它提供了大量的可定制化选项,可以用来测试,裸盘或者文件系统在各种场景下的IO性能,包括了不同块大小、不同IO引擎以及是否使用缓存等场景。所以,在优化IO问题时,除了可以优化IO的执行流程,还可以接入更快的内存、网络、CPU等,减少IO调用。应用程序处于整个IO栈的最上端,它可以通过系统调用,来调整IO模式(顺序/随机、同步/异步),同时,它也是IO数据的最终来源。所以,前面的这几种场景,并不能精确模拟应用程序的IO模式。数据的持久化存储,最终还是要落在具体的物理磁盘中,同时,磁盘也是整个IO栈的最底层。原创 2024-03-01 00:55:11 · 1003 阅读 · 0 评论