一些名词记录2015/5/10-2015/5/15

cached 和buffers

缓存(cached)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。 

缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写如磁盘),也可以通过sync命令手动清空缓冲。举个例子吧:我这里有一个ext2的U盘,我往里面cp一个3M的MP3,但U盘的灯没有跳动,过了一会儿(或者手动输入sync)U盘的灯就跳动起来了。卸载设备时会清空缓冲,所以有些时候卸载一个设备时要等上几秒钟。 

修改/etc/sysctl.conf中的vm.swappiness右边的数字可以在下次开机时调节swap使用策略。该数字范围是0~100,数字越大越倾向于使用swap。默认为60,可以改一下试试。

--

两者都是RAM中的数据。简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的。
buffer是由各种进程分配的,被用在如输入队列等方面,一个简单的例子如某个进程要求有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存。
cache经常被用在磁盘的I/O请求上,如果有多个进程都要访问某个文件,于是该文件便被做成cache以方便下次被访问,这样可提供系统性能。

静态缓存和动态缓存

静态缓存:在WEB程序上一般是以.html页面为主的程序,当有新的内容发布就必须的立刻生成相对应内容的静态html页面,每一条内容信息都对应一个静态html页面。

        动态缓存:在WEB程序上一般是除.html页面以外的动态语言程序,当有新的内容发布并不需要像静态缓存那样立刻生成相对应的内容的静态html页面,而是保存在数据库中,当用户访问相关内容信息时,就向后台服务器发出请求,后台服务器就会生成相对应的内容静态页面。

        静态缓存的优点在于同步频率可以由用户自己设定,高和低都不会显著影响WEB SERVER的性能,也不会显著服务器的性能,利用静态缓存机制后会提高WEB服务器的响应能力,打开的速度很好,更好的用户体验度,更重要赢得访问者的欢心。但是同样也具有一定的代价就是WEB空间需求增加,为了实现同步更新,就必须执行大量的操作,统计,重新写入。或者是改变内容后,还要重新生成,如果不注重既时性,那也要定期重新更新所有静态文件。但是对于一般的企业网站来说,信息量不是很多,采用静态缓存是一个非常不错的选择。而且对于搜索引擎来说又是一个比较不错的体验,现在搜索引擎对于html语言是非常友好的。25亿企业网站管理系统为了给用户一个更好的体验度,采了静态缓存的机制。

        动态缓存的优点既时性比较好,生成是触发式的,这样可以让后台部分少去了很多操作,后台干预的操作也大大减少了。但是也服务器的性能要求比较高,使用动态缓存会增加WEB SERVER服务器的负担。用户在访问页面由于先由服务器生成缓存,打开的速度会降低,对于动态页面可以能过缓存来提速和减轻WEB SERVER服务器负担。


你可能感兴趣的:(一些名词记录2015/5/10-2015/5/15)