0%

Cache 和 Buffer 都是缓存,主要区别是什么?

cache 是为了弥补高速设备和低速设备的鸿沟而引入的中间层,最终起到加快访问速度的作用。
而 buffer 的主要目的进行流量整形,把突发的大数量较小规模的 I/O 整理成平稳的小数量较大规模的 I/O,以减少响应次数(比如从网上下电影,你不能下一点点数据就写一下硬盘,而是积攒一定量的数据以后一整块一起写,不然硬盘都要被你玩坏了)。

1、Buffer(缓冲区)是系统两端处理速度平衡(从长时间尺度上看)时使用的。它的引入是为了减小短期内突发I/O的影响,起到流量整形的作用。比如生产者——消费者问题,他们产生和消耗资源的速度大体接近,加一个buffer可以抵消掉资源刚产生/消耗时的突然变化。
2、Cache(缓存)则是系统两端处理速度不匹配时的一种折衷策略。因为CPU和memory之间的速度差异越来越大,所以人们充分利用数据的局部性(locality)特征,通过使用存储系统分级(memory hierarchy)的策略来减小这种差异带来的影响。
3、假定以后存储器访问变得跟CPU做计算一样快,cache就可以消失,但是buffer依然存在。比如从网络上下载东西,瞬时速率可能会有较大变化,但从长期来看却是稳定的,这样就能通过引入一个buffer使得OS接收数据的速率更稳定,进一步减少对磁盘的伤害。
4、TLB(Translation Lookaside Buffer,翻译后备缓冲器)名字起错了,其实它是一个cache.

阅读全文 »

DAS即直接连接存储(Direct Attached Storage);
NAS即网络接入存储(Network Attached Storage);
SAN即存储区域网络(Storage Area Network)。
DAS是指将外置存储通设备通过SCSI或FC接口直接连接到应用服务器上,存储设备是整个服务器结构的一部分。在这种情况下,数据和操作系统往往都未分离。
SAN是通过光纤交换机连接存储阵列和服务器,建立专用数据存储的存储私网。
NAS采用网络技术(TCP/IP、ATM、FDDI),通过网络交换机连接存储系统和服务器主机来建立存储私网。其主要特征是把存储设备、网络接口和以太网技术集成在一起,直接通过以太网网络存取数据。也就是把存储功能从通用文件服务器中分离出来。
三种模式中,DAS模式最简单,就是直接把存储设备连接到服务,而这种模式最大的问题是:每个应用服务器都要有独立的存储设备,这样增加了数据处理的复杂度,随着服务器的增加,网络系统效率也急剧下降。为了解决上述问题,提出了NAS和SAN两种模式。
NAS:通过TCP/IP协议访问数据,采用业界标准文件共享协议,如果NFS、HTTP、CIFS实现共享。
SAN:通过专用光纤交换机访问数据,采用SCSI、FC-AL接口。NAS和SAN最本质的区别就是文件管理系统在哪里。
如图所示,SAN结构中,文件管理系统(FS)分别在每一个应用服务器上面,而NAS则是每个应用服务器通过网络共享协议,使用同一个文件管理系统。即NAS和SAN存储系统的区别就是NAS有自已的文件管理系统。

Java Web(三) 会话机制,Cookie和Session详解

一、会话机制

Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

一次会话指的是:就好比打电话,A给B打电话,接通之后,会话开始,直到挂断电话,该次会话就结束了,而浏览器访问服务器,就跟打电话一样,浏览器A给服务器发送请求,访问web程序,该次会话就已经接通,其中不管浏览器发送多少请求(就相当于接通电话后说话一样),都视为一次会话,直到浏览器关闭,本次会话结束。其中注意,一个浏览器就相当于一部电话,如果使用火狐浏览器,访问服务器,就是一次会话了,然后打开google浏览器,访问服务器,这是另一个会话,虽然是在同一台电脑,同一个用户在访问,但是,这是两次不同的会话。

阅读全文 »

Oracle 的三种高可用集群方案

RAC(Real Application Clusters)

多个 Oracle 服务器组成一个共享的 Cache,而这些 Oracle 服务器共享一个基于网络的存储。这个系统可以容忍单机/或是多机失败。不过系统内部的多个节点需要高速网络互连,基本上也就是要全部东西放在在一个机房内,或者说一个数据中心内。如果机房出故障,比如网络不通,那就坏了。所以仅仅用 RAC 还是满足不了一般互联网公司的重要业务的需要,重要业务需要多机房来容忍单个机房的事故。

阅读全文 »

当前是云计算和数据快速增长的时代,今天的应用程序正以PB级和ZB级的速度生产数据,但人们依然在不停的追求更高更快的性能需求。随着数据的堆积,如何快速有效的搜索这些数据,成为对后端服务的挑战。本文,我们将比较业界两个最流行的开源搜索引擎,Solr和ElasticSearch。两者都建立在Apache Lucene开源平台之上,它们的主要功能非常相似,但是在部署的易用性,可扩展性和其他功能方面也存在巨大差异。

阅读全文 »

作为两大主流开源云平台,OpenStack和CloudStack各具优势。CloudStack安装和部署都很方便,OpenStack框架相对开放灵活,可以根据用户需求方便的进行开发定制。本文中,博主通过自身基于OpenStack搭建公司私有云平台的实战经验,对OpenStack实施私有云落地的需求进行梳理,综合产生个人的观点和评价并和读者分享。
之前一段时间的工作,基于OpenStack搭建公司私有云平台。
借此机会梳理了一下OpenStack实施私有云落地的选项,以飨各位读者。

阅读全文 »

经典进程同步问题-哲学家进餐问题

问题描述

一张圆桌上坐着5名哲学家,每两个哲学家之间的桌上摆一根筷子,桌子的中间是一碗米饭。哲学家们倾注毕生精力用于思考和进餐,哲学家在思考时,并不影响他人。只有当哲学家饥饿的时候,才试图拿起左、 右两根筷子(一根一根地拿起)。如果筷子已在他人手上,则需等待。饥饿的哲学家只有同时拿到了两根筷子才可以开始进餐,当进餐完毕后,放下筷子继续思考。

阅读全文 »

操作系统中颠簸(thrashing)解决办法
在更换页面时,如果更换页面是一个很快会被再次访问的页面,则再次缺页中断后又很快会发生新的缺页中断。
整个系统的效率急剧下降------这种现象称为颠簸(抖动)
----内存颠簸的解决策略是:
1-如果是因为页面替换策略失误,可以修改替换算法来解决这个问题;
2-如果是因为运行的程序太多,造成程序无法同时将所有频繁访问的页面调入内存,则要降低多道程序的数量。
3-否则,还剩下两个办法:1终止该进程;2增加物理内存容量;

马斯洛语录:如果你的手里只有锤子,那么你的眼里只有钉子.

其实也就是人的本位思考能力,屁股决定那脑袋。

事件管理的宗旨是最短时候恢复故障,从而将故障的损失降到最低,在此前提下尽可能满足服务的要求。因此,事件管理突出的就是恢复企业的业务,启用备份,容灾系统等手段,第一时间采取各种措施来恢复企业生产,这就要求服务台将紧急故障定义为最高优化级,从而确保工单的快速流转,通过各IT部门密切配合来排除故障。
当紧急故障得以处理,信息中心就会转而进入问题管理的层面,以便找到故障发生的原因,从而改变频于应付突出事故的局面。与事件管理的根本区别就在于,事件管理目的在于恢复企业生产,而问题管理在于找出IT故障的根本原因,制定解决方案,防止类似故障的再次发生。