硬件体系优化及IO优化核心优化原理详解

从图上看,上面是CPU层面,下面是资源层面,越往下越慢。运行速度。

从容量上看越往下越大。

先在内存中处理,后再硬盘中处理。

CPU和内存处理速度比也相差很大,1000倍的差距

所以光用内存也是慢,一般CPU里面也有缓存,1级缓存,2级缓存。CACHE

交互过程中可能放到1级缓存,二级缓存,进行平缓操作,CPU和内存。

电脑的快慢有什么决定的和你到时候优化什么地方。

比方说瓶颈是硬盘差,我CPU变成双核的,硬盘还不快,应为瓶颈不是CPU,是磁盘。

电脑的各个部件你最好有个平衡。某一个好,都不能提升电脑的整体性能。

ns:纳秒

us:微秒

ms:毫秒

网卡和固态盘差不多,普通磁盘就是瓶颈了,用普通硬盘就不要用一块,3块、5块

做网站架构:能用CPUcache就不用内存,更近一步,能用内存,就不要用ssd能用ssd就不用硬盘。

这是一个服务器的优化,将来就会上升到整个集群的优化。

集群的优化也是一样的,把数据扔到内存里面提供服务,将来数据肯定优先放到内存里面。

这样有的时候数据可能会丢失,先在硬盘上存在,在放到内存里。只是从内存中读取。

几乎所有的网站都是浏览的人多,写的人少。

还想快写到内存里面去,写到 内存一旦宕机怎么办?

宕机数据会丢失,宕机不一定是死机。

宕机就是不能提供服务了,做运维不说死机,说宕机。

数据丢了要不你企业接受数据丢失,要接受不了这个方案就不行。

我能容忍1秒的数据。

1秒在内存中写1万次,1秒以后刷到磁盘里。

比直接写磁盘快很多倍。读硬盘次数越少,效率越高。

满足应用的前提下,向硬盘里面刷。

对于大多数网站来说,还是读更多,对于网站来说,读的压力会最先产生。

对于网站的常规做法是写入写入磁盘,然后读到内存里去,然后当用户访问的时候读内存。

这样读就快了,写磁盘也能承受的住。

对于数据不能丢,写的压力又不大的,读的压力大的,先写磁盘,读到内存,这样提供服务。

小结:CPU速度很快,所以有L1、L2cache,CPU之后是内存,内存更快,内存之后是SSD固态盘,然后普通硬盘。

服务器硬件的性能排序。

将来做运维优化网站,服务器的关键:尽量使用内存。

1、解决浏览网页的压力,也是读的压力。

由于写没压力,写入硬盘,读入到内存,然后提供给客户访问。

2、解决像微信、微博这样的应用,读的压力超大,写的压力相对较大。

写压力较大的业务,我们一般,可以考虑写到内存,然后根据企业能够接受的数据丢失程度,选择一个频率写到

磁盘。读跟上面一样。这样确保能接收更大的写并发,数据丢失的数量我可以忍受。

互联网上没有绝对的好方案。

更高的要求,及写入内存,又不希望数据丢失。

不让宕机,宕机的核心原因是没电了。

1、用UPS不间断电源,

2、主板上安装flush 电池作用:当服务器没电了,利用电池供电,把内存数据刷到磁盘。

你理解生活中的一些事情,你运维就会了。

时间: 2024-10-24 21:59:31

硬件体系优化及IO优化核心优化原理详解的相关文章

Redis实战和核心原理详解(5)使用Spring Session和Redis解决分布式Session跨域共享问题

Redis实战和核心原理详解(6)使用Spring Session和Redis解决分布式Session跨域共享问题 前言 对于分布式使用Nginx+Tomcat实现负载均衡,最常用的均衡算法有IP_Hash.轮训.根据权重.随机等.不管对于哪一种负载均衡算法,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因此会出现session不同步或者丢失的问题. 实际上实现Session共享的方案很多,其中一种常用的就是使用Tomcat.Jetty等服务器提

iOS:核心动画的详解介绍:CAAnimation(抽象类)及其子类

核心动画的详解介绍:CAAnimation(抽象类) 1.核心动画基本概念 Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍! 使用它需要先添加QuartzCore.framework和引入对应的框架<QuartzCore/QuartzCore.h> ,在iOS7中不需要 2.动画分类 基本动画    CABasicAnimation 关键帧动画  CAKeyframeAnimation 动画组     CAAnimationGro

硬盘内部硬件结构和工作原理详解[zz]

一般硬盘正面贴有产品标签,主要包括厂家信息和产品信息,如商标.型号.序列号.生产日期.容量.参数和主从设置方法等.这些信息是正确使用硬盘的基本依据,下面将逐步介绍它们的含义. 硬盘主要由盘体.控制电路板和接口部件等组成,如图1-1所示.盘体是一个密封的腔体.硬盘的内部结构通常是指盘体的内部结构:控制电路板上主要有硬盘BIOS.硬盘缓存(即CACHE)和主控制芯片等单元,如图1-2所示:硬盘接口包括电源插座.数据接口和主.从跳线,如图1-3所示. 图1-1 硬盘的外观 图1-2 控制电路板 图1-

SpringBoot启动机制(starter机制)核心原理详解

作者:MyBug 一.前言 使用过springboot的同学应该已经知道,springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程.本文的目的就是一步步分析springboot的启动过程,这次主要是分析springboot特性自动装配.那么首先带领大家回顾一下以往我们的web项目是如何搭建的,通常我们要搭建一个基于Spring的Web应用,我们需要做以下一些工作:pom文件中引入相关jar包,包括spring.springmvc.redis.mybaits.l

java io系列12之 BufferedInputStream详解

目录1. BufferedInputStream 介绍2. BufferedInputStream 源码分析(基于jdk1.7.40)3. 示例代码 BufferedInputStream 是缓冲输入流.它继承于FilterInputStream. BufferedInputStream 的作用是为另一个输入流添加一些功能,例如,提供"缓冲功能"以及支持"mark()标记"和"reset()重置方法".BufferedInputStream 本质

CPU工作方式、多核心、超线程技术详解[转贴]

CPU是一台电脑的灵魂,决定电脑整体性能.现在的主流CPU都是多核的,有的运用了多线程技术(Hyper-threading,简称HT).多核可能还容易理解些,相信不少玩家都能说出个所以然.但超线程是个什么东西,究竟有什么实际意义,一个支持超线程的CPU开启和关闭HT有什么不同,能解释清楚的人可能就不太多了.为此,我特地开此贴给大家介绍一下双核.超线程技术.此贴结合我平时自己工作中的积累.同厂商(英特尔)的交流经验.以及私下里作为一个DIY玩家的认识,力争做到最权威.最准确,同时保证通俗易懂,希望

关于Saltstack核心模块state详解

一.问题背景:  学习使用自动运维工具saltstack的过程中,其中state模块是帮助管理员控制minion达到一个预想的状态.换句话来说,我想让minion能够远程执行命令,自动配置环境文件,软件安装.服务启动.关闭,信息收集等自动化操作,都能通过saltstack的state模块实现.  并且最重要的一个好处就是简单.简洁.方便.引用一段官方文档的话: Simplicity, Simplicity, SimplicityMany of the most powerful and usef

IO测试工具之fio详解

目前主流的第三方IO测试工具有fio.iometer和Orion,这三种工具各有千秋. fio在Linux系统下使用比较方便,iometer在window系统下使用比较方便,Orion是oracle的IO测试软件,可在没有安装oracle数据库的情况下模拟oracle数据库场景的读写. 如下是在Linux系统上采用fio工具来对SAN存储进行的IO测试. 1.安装fio 在fio官网下载fio-2.1.10.tar文件,解压后./configure.make.make install之后就可以使

IO模型之BIO代码详解及其优化演进

一.BIO简介 BIO是java1.4之前唯一的IO逻辑,在客户端通过socket向服务端传输数据,服务端监听端口.由于传统IO读数据的时候如果数据没有传达,IO会一直等待输入传入,所以当有请求过来的时候,新起一条线程对数据进行等待.处理,导致每一个链接都对应着服务器的一个线程. BIO是同步阻塞的,如图所示: 二.原理简述 BIO对应linux io模型的阻塞IO,服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接