从图上看,上面是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 电池作用:当服务器没电了,利用电池供电,把内存数据刷到磁盘。
你理解生活中的一些事情,你运维就会了。