Linux硬件IO的优化简介
Linux硬件IO的优化简介
首先简单介绍下有哪些硬件设备如下(由于硬件种类厂家等各种因素我就不在此多做介绍有兴趣的可以自行学习):
1.CPU:中央处理器,是计算机运算控制的核心部件之一,相当于人的大脑。如下图

2.RAM:内存条与CPU沟通的桥梁,很多数据和运算在内存中做临时处理,相当于你在做快速记忆运算的状态,如下图:

3.Disk:硬盘使我们用来存放数据和资料的仓库,因为内存是临时存储断电后会释放其中的所有数据,所以要保存备份数据就要用到硬盘,且硬盘空间要比内存大。好比你的笔记本俗话说的好,好记性不如烂笔头,写下来只要笔记本不丢,数据就一直在,一目了然!如下图:

4.NIC:网卡简单理解是计算机与计算机之间通讯的工具,简单比喻(可能不专业为了好理解)每个人用的手机,QQ等通讯设备与软件,好帮助你快速联系到朋友交流。如下图:

5.mainboard:主板是以上设备所需要的工作环境,好比一个团队team,各尽其责发挥其作用完成各项复杂的操作记录等。好比我们生活的这个环境(board),需要我们去思考处理各种工作(CPU),记录生活中美好的回忆(RAM),用相机拍下最美丽的瞬间(disk),联系亲朋好友等(NIC)。图如下:

好了简单介绍完上面的设备组建后来看一个图:

这图反应了对应关系标注也详细解释的其作用处理机空间的关系,空间越大的读写速度一般都是会成反比,好比一个大仓库找到你想要的商品肯定慢,相比小仓库一目了然几平米小空间找到商品就容易快一样的道理。我们继续看另一个图:

这里简单列出了每个环节的读写速度与时间的对应关系,在强调一边这里的空间是处理数据的大小多少与速度相关而不是存储空间,切记不要弄混淆。这图简单粗暴的说明CPU强大运算能力与运算速度纳秒级响应,内存紧追随于CPU但明显处理数据就少很多了,好比学霸秒解的题目,你还要运算思考几秒到几十秒才能解出。
那么问题来了怎么去解决这中间处理关系也就是简称优化:
常用方案1如下图:

例如你网站有大量写入数据的时候,又要保证同读取的数据够快时,采用全部写入内存的形式,控制一定数据大小一次行写如硬盘,前面已经介绍了CPU处理的数据,内存的写读都是紧跟随CPU的,这样保证在读写时候的效应速度,减少硬盘的读写次数(因为都知道硬盘读写效率慢只适合用来存储数据)。这里只是浅谈思路,具体根据要求在制定。
常用方案2如下图:

这里介绍网页在只是读取例如博客只是用在浏览比较多是,就只是少量用户在评论时可以采用这种直接写入硬盘的方式,硬盘读写慢,CPU写入快可以有更多的时间和资源处理用户读取的效率,当然目前所讲的全部只是理论上浅谈,实际应用及复杂环境等诸多因素不同,用到方式肯定也不一样。现在只是用来举例在实际应用中我们该找准哪块切入点去做,更好的优化及设计等。最后非常感谢大家观看,也欢迎提出跟好的思路和意见来探讨学习!
Linux硬件IO的优化简介的更多相关文章
- Linux 文件系统IO性能优化【转】
转自:https://blog.csdn.net/doitsjz/article/details/50837569 对于LINUX SA来说,服务器性能是需要我们特别关注的,包括CPU.IO.内存等等 ...
- Linux 文件系统IO性能优化
对于LINUX SA来说,服务器性能是需要我们特别关注的,包括CPU.IO.内存等等系统的优化变得至关重要,这里转载一篇非常不错的关于IO优化的文章,供大家参考和学习: 一.关于页面缓存的信息,可以用 ...
- linux设备驱动归纳总结(五):3.操作硬件——IO静态映射【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-83299.html linux设备驱动归纳总结(五):3.操作硬件——IO静态映射 xxxxxxxxx ...
- Linux中的IO复用接口简介(文件监视?)
I/O复用是Linux中的I/O模型之一.所谓I/O复用,指的是进程预先告诉内核,使得内核一旦发现进程指定的一个或多个I/O条件就绪,就通知进程进行处理,从而不会在单个I/O上导致阻塞. 在Linux ...
- MySQL数据库在IO性能优化方面的设置选择(硬件)
提起MySQL数据库在硬件方面的优化无非是CPU.内存和IO.下面我们着重梳理一下关于磁盘I/O方面的优化. 1.磁盘冗余阵列RAID RAID(Redundant Array of Inexpens ...
- 【Linux开发】linux设备驱动归纳总结(五):2.操作硬件——IO内存
linux设备驱动归纳总结(五):2.操作硬件--IO内存 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- 【Linux开发】linux设备驱动归纳总结(五):3.操作硬件——IO静态映射
linux设备驱动归纳总结(五):3.操作硬件--IO静态映射 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式
Linux就这个范儿 第15章 七种武器 linux 同步IO: sync.fsync与fdatasync Linux中的内存大页面huge page/large page David Cut ...
- 转:Linux网络IO并行化技术概览
转:http://codinginet.com/articles/view/201605-linux_net_parallel?simple=1&from=timeline&isapp ...
随机推荐
- Python列表去重
标题有语病,其实是这样的: 假设有两个列表 : L1 = [1,2,3,4] ; L2 = [1,2,5,6] 然后去掉L1中包含的L2的元素 直接这样当然是不行的: def removeExists ...
- Python标准模块--Iterators和Generators
1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...
- 非关系型数据库(NoSql)
最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...
- 使用mybatis-generator在自动生成Model类和Mapper文件
使用mybatis-generator插件可以很轻松的实现mybatis的逆向工程,即,能通过表结构自动生成对应的java类及mapper文件,可以大大提高工作效率,并且它提供了很多自定义的设置可以应 ...
- Web安全相关(四):过多发布(Over Posting)
简介 过多发布的内容相对比较简单,因此,我只打算把原文中的一些关键信息翻译一下.原文链接如下: http://www.asp.net/mvc/overview/getting-started/gett ...
- jQuery幻灯片插件autoPic
原文地址:Jquery自定义幻灯片插件 插件效果图: 演示地址:autoPic项目地址:autoPic 欢迎批评指正!
- bzoj1723--前缀和(水题)
题目大意: 你难以想象贝茜看到一只妖精在牧场出现时是多么的惊讶.她不是傻瓜,立即猛扑过去,用她那灵活的牛蹄抓住了那只妖精. "你可以许一个愿望,傻大个儿!"妖精说. ...
- Linux基础介绍【第一篇】
Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...
- [Django]用户权限学习系列之User权限基本操作指令
针对Django 后台自带的用户管理系统,虽说感觉还可以,但是为了方便用户一些操作,特别设计自定义的用户权限管理系统. 在制作权限页面前,首先需要了解权限和用户配置权限的指令,上章讲到权限的添加,删除 ...
- Openstack Periodic Task
Openstack Periodic Task 周期性任务在各个模块的manager.py(computer,scheduler,cell,network)中添加. 添加方法:在模块manager类实 ...