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的优化简介的更多相关文章

  1. Linux 文件系统IO性能优化【转】

    转自:https://blog.csdn.net/doitsjz/article/details/50837569 对于LINUX SA来说,服务器性能是需要我们特别关注的,包括CPU.IO.内存等等 ...

  2. Linux 文件系统IO性能优化

    对于LINUX SA来说,服务器性能是需要我们特别关注的,包括CPU.IO.内存等等系统的优化变得至关重要,这里转载一篇非常不错的关于IO优化的文章,供大家参考和学习: 一.关于页面缓存的信息,可以用 ...

  3. linux设备驱动归纳总结(五):3.操作硬件——IO静态映射【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-83299.html linux设备驱动归纳总结(五):3.操作硬件——IO静态映射 xxxxxxxxx ...

  4. Linux中的IO复用接口简介(文件监视?)

    I/O复用是Linux中的I/O模型之一.所谓I/O复用,指的是进程预先告诉内核,使得内核一旦发现进程指定的一个或多个I/O条件就绪,就通知进程进行处理,从而不会在单个I/O上导致阻塞. 在Linux ...

  5. MySQL数据库在IO性能优化方面的设置选择(硬件)

    提起MySQL数据库在硬件方面的优化无非是CPU.内存和IO.下面我们着重梳理一下关于磁盘I/O方面的优化. 1.磁盘冗余阵列RAID RAID(Redundant Array of Inexpens ...

  6. 【Linux开发】linux设备驱动归纳总结(五):2.操作硬件——IO内存

    linux设备驱动归纳总结(五):2.操作硬件--IO内存 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  7. 【Linux开发】linux设备驱动归纳总结(五):3.操作硬件——IO静态映射

    linux设备驱动归纳总结(五):3.操作硬件--IO静态映射 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  8. 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 ...

  9. 转:Linux网络IO并行化技术概览

    转:http://codinginet.com/articles/view/201605-linux_net_parallel?simple=1&from=timeline&isapp ...

随机推荐

  1. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  2. Chrome出了个小bug:论如何在Chrome下劫持原生只读对象

    Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...

  3. input[tyle="file"]样式修改及上传文件名显示

    默认的上传样式我们总觉得不太好看,根据需求总想改成和上下结构统一的风格…… 实现方法和思路: 1.在input元素外加a超链接标签 2.给a标签设置按钮样式 3.设置input[type='file' ...

  4. C#多线程之基础篇3

    在上一篇C#多线程之基础篇2中,我们主要讲述了确定线程的状态.线程优先级.前台线程和后台线程以及向线程传递参数的知识,在这一篇中我们将讲述如何使用C#的lock关键字锁定线程.使用Monitor锁定线 ...

  5. 120项改进:开源超级爬虫Hawk 2.0 重磅发布!

    沙漠君在历时半年,修改无数bug,更新一票新功能后,在今天隆重推出最新改进的超级爬虫Hawk 2.0! 啥?你不知道Hawk干吗用的? 这是采集数据的挖掘机,网络猎杀的重狙!半年多以前,沙漠君写了一篇 ...

  6. 前端性能优化的另一种方式——HTTP2.0

    最近在读一本书叫<web性能权威指南>谷歌公司高性能团队核心成员的权威之作. 一直听说HTTP2.0,对此也仅仅是耳闻,没有具体研读过,这次正好有两个篇章,分别讲HTTP1.1和HTTP2 ...

  7. 要想提高PHP的编程效率,你必须知道的要点

    1.当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数.此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储 ...

  8. ASP.NET SignaiR 实现消息的即时推送,并使用Push.js实现通知

    一.使用背景 1. SignalR是什么? ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指 ...

  9. Configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7

    SOLUTION VERIFIED September 13 2016 KB1248793 Environment Red Hat Enterprise Linux 7 NetworkManager ...

  10. java8中lambda表达式的应用,以及一些泛型相关

    语法部分就不写了,我们直接抛出一个实际问题,看看java8的这些新特性究竟能给我们带来哪些便利 顺带用到一些泛型编程,一切都是为了简化代码 场景: 一个数据类,用于记录职工信息 public clas ...