二级缓存(服务器二级缓存的作用及优化方法)
一、为什么CPU要分一级缓存、二级缓存和三级缓存
CPU缓存就是CPU内部的缓存运行频率,缓存的大小与结构对CPU速度的影响较大,因此缓存大小也是CPU重要的性能指标之一。
CPU缓存的作用主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,而缓存的容量要比内存要小的太多,但是其速度要比内存快的多,因此这样会让CPU使用很长的时间等待数据到来或把数据写入内存中。
搜索在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就能够避开内存直接从缓存中调用,从而加快读取速度。
当CPU需要读取数据并进行计算时,首先需要将CPU缓存中查到所需的数据,并在最短的时间下交付给CPU。
如果没有查到所需的数据,CPU就会提出“要求”经过缓存从内存中读取,再原路返回至CPU进行计算。而同时,把这个数据所在的数据也调入缓存,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
一级缓存(L1 Cache)
CPU一级缓存,就是指CPU的第一层级的高速缓存,主要当担的工作是缓存指令和缓存数据。一级缓存的容量与结构对CPU性能影响十分大,但是由于它的结构比较复杂,又考虑到成本等因素,一般来说,CPU的一级缓存较小,通常CPU的一级缓存也就能做到256KB左右的水平。
二级缓存(L2 Cache66)
CPU二级缓存,就是指CPU的第二层级的高速缓存,而二级缓存的容量会直接影响到CPU的性能,二级缓存的容量越大越好。例如intel的第八代i7-8700处理器,共有六个核心数量,而每个核心都拥有256KB的二级缓存,属于各核心独享,这样二级缓存总数就达到了1.5MB。
三级缓存(L3 Cache)
CPU三级缓存,就是指CPU的第三层级的高速缓存,其作用是进一步降低内存的延迟,同时提升海量数据量计算时的性能。和一级缓存、二级缓存不同的是,三级缓存是核心共享的,能够将容量做的很大。
CPU的核心数量、高频高低都会影响性能,但如果让CPU更聪明、更有效率的执行计算任务,那么缓存的作用就至关重要了。
扩展资料:
CPU主要性能参数:
1、主频
主频也叫时钟频率,单位是兆赫(MHz)或千兆赫(GHz),用来表示CPU的运算、处理数据的速度。
2、外频
外频是CPU的基准频率,单位是MHz。CPU的外频决定着整块主板的运行速度。
3、总线频率
前端总线(FSB)是将CPU连接到北桥芯片的总线。前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。
4、倍频系数
倍频系数是指CPU主频与外频之间的相对比例关系。
5、缓存
缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。
参考资料来源:百度百科-CPU
二、选购服务器时应考察的主要配置参数有哪些
问题一:选购IA服务器时应考察的主要配置参数有哪些?
CPU和内存:CPU的类型、主频和数量在相当程度上决定着服务器的性能;服务器应采用专用的ECC校验内存,并且应当与不同的CPU搭配使用。
芯片组与主板:即使采用相同的芯片组,不同的主板设计也会对服务器性能产生重要影响。
网卡:服务器应当连接在传输速率最快的端口上,并最少配置一块千兆网卡。对于某些有特殊应用的服务器(如FTP、文件服务器或视频点播服务器),还应当配置两块千兆网卡。
硬盘和RAID卡:硬盘的读取/写入速率决定着服务器的处理速度和响应速率。除了在入门级服务器上可采用IDE硬盘外,通常都应采用传输速率更高、扩展性更好的SCSI硬盘。对于一些不能轻易中止运行的服务器而言,还应当采用热插拔硬盘,以保证服务器的不停机维护和扩容。
冗余:磁盘冗余采用两块或多块硬盘来实现磁盘阵列;网卡、电源、风扇等部件冗余可以保证部分硬件损坏之后,服务器仍然能够正常运行。
热插拔:是指带电进行硬盘或板卡的插拔操作,实现故障恢复和系统扩容。同时,在选择IA服务器时通常需要考虑可管理性、可用性、可扩展性、安全性以及可靠性等几方面的性能指标。
问题二:64位服务器覆盖的应用范围?
从应用类型来看,大致可分为主域服务器、数据库服务器、Web服务器、FTP服务器和邮件服务器、高性能计算集群系统几类。而目前,主流的服务器处理器有:英特尔安腾处理器、英特尔至强处理器和AMD公司的Opteron处理器,这些处理器是近几年推出的新型64位服务器。笔者就以上的几种应用,讨论一下服务器在不同的应用当中,对服务器子系统的不同要求进行简单概述:
主域控制器网络、用户、计算机的管理中心,提供安全的网络工作环境。主域控制器的系统瓶颈是内存、网络、CPU、内存配置。
文件服务器文件服务器作为网络的数据存储仓库,其性能要求是在网络上的用户和服务器磁盘子系统之间快速传递数据。
数据库服务器数据库引擎包括DB2、SQL Server、Oracle、Sybase等。数据库服务器一般需要使用多处理器的系统,以SQL Server为例,SQL Server能够充分利用SMP技术来执行多线程任务,通过使用多个CPU,对数据库进行并行操作来提高吞吐量。另外,SQL Server对L2缓存的点击率达到90%,所以L2缓存越大越好。内存和磁盘子系统对于数据库服务器来说也是至关重要的部分。
Web服务器 Web服务器用来响应Web请求,其性能是由网站内容来决定的。如果Web站点是静态的,系统瓶颈依次是:网络、内存、CPU;如果Web服务器主要进行密集计算(例如动态产生Web页),系统瓶颈依次是:内存、CPU、磁盘、网络,因为这些网站使用连接数据库的动态内容产生交易和查询,这都需要额外的CPU资源,更要有足够的内存来缓存和处理动态页面。
高性能计算用的集群系统一般在4节点以上,节点机使用基于安腾、AMD 64技术的Opteron系统,这种集群系统的性能主要取决于厂商的技术实力、集群系统的设计、针对应用的调优等方面。
问题三:多核时代,处理器内核越多越好吗?
二大芯片巨头英特尔、AMD公司于2005年底推出多核处理器,目前,不管是双核、还是即将成为2007年主流四核处理器或是将来的八核、十六核处理器,英特尔、AMD之间激烈的竞争,促使处理器市场新品越来越多。在性能上、在功耗节能方面还是其它服务器配件方面,都极大地促进了产业的发展。
而对于大部分用户来讲,服务器在应用层次方面,仍旧是不变的。唯一需要考虑的就是用户自身的发展对于服务器的性能是否能够满足。现今,对于一款四核高性能服务器,其采购成本远远高于现今主流的双核服务器,如果双核服务器就能够满足您的需求,同时也能够为将来的3~5年发展预留足够的空间,那么就没必要选择价格昂贵的四核服务器。
综合以上:对于单核/双核/多核综合交叉时代,选购服务器应该把目光放在自身需求上面,以本身应用需求、资金投入为因素,选购最合适的服务器产品。
三、硬盘缓存有什么作用
硬盘的缓存主要起三种作用:
1预读取
当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的。
对写入动作进行缓存
2是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地。
临时存储最近访问过的数据
3是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。缓存就像是一台计算机的内存一样,在硬盘读写数据时,负责数据的存储、寄放等功能。这样一来,不仅可以大大减少数据读写的时间以提高硬盘的使用效率。同时利用缓存还可以让硬盘减少频繁的读写,让硬盘更加安静,更加省电。更大的硬盘缓存,你将读取游戏时更快,拷贝文件时候更快,在系统启动中更为领先……