web服务器缓存基本定义?

web服务器缓存基本定义?,第1张

为了能够给用户一个良好的上网体验,大部分的网页和浏览器都配置了预加载以及缓存功能。今天北京电脑培训就通过案例分析来了解一下,关于web缓存的基本定义与类型介绍。



Web缓存是什么为什么要使用缓存

Web缓存处于服务器(也称为源服务器)和客户端之间,监视请求并保存响应的副本,比如HTML页面,和文件等(统称为表述)。如果之后有对同一个URL的新请求,它会使用自己保存的内容来响应,而不是再次请求源服务器来获取内容。

使用Web缓存主要有下面两个原因:

减少延迟——因为响应请求的内容来自缓存(距客户端较近)而不是源服务器,它会花较少的时间来获得表述并将他们呈现出来。这使得Web看起来具有良好的响应速度。

减少网络传输——由于复用了表述,它可以减少客户端使用的带宽总量。如果客户需要为流量付费,这就意味着省钱。缓存会降低对带宽的要求,也降低处理难度。

Web缓存的种类

浏览器缓存

你在查看现代Web浏览器(比如IE、Safari或Mazilla)选项的时候,可能会看到“缓存”设置。这个选项让你配置一部分硬盘空间来保存你看过的表述。浏览器缓存的规则相当简单。它通常会在一次会话(即当前浏览器中一次调用)中检查表述是否新。

这个缓存在用户使用“回退”按钮或者点击一个浏览过的链接时会特别有用。而且,如果你在网站的各个页面中浏览相同的,他们几乎能马上从缓存中加载出来。

代理缓存

Web代理缓存的工作原理相同,但规模更大。代理以同样的方式为成百上千的用户服务;大公司和ISP常常把代码缓存建立在防火墙之上,也可能是以独立设备的形式存在(也称为中间设备)。

代理缓存即不是客户端的一部分,也不是服务器的一部分,而是在网络之外,必须以某种方式把请求路由过去。其中一种方式是手工修改浏览器代理设备,指定要使用的代码;另一种方式是拦截。拦截式代理会根据其自身的基础网络重定向Web请求,不需要在客户端配置,客户端甚至不知道它们的存在。

代理缓存是一种共享缓存,通常不只是一个用户,而是大量用户在使用代理缓存。正因为如此,他们特别擅长降低延迟和网络传输量。这是因为众人都需要的表述会被多次重复使用。

网关缓存

网关缓存又名“反向代理缓存”或“替代缓存”。网关缓存也是一种中介,它他们不是由网络管理员部署以节约带宽,而是由网站管理员自己部署,使其站点更具伸缩性、可靠性以及拥有更好的性能。

很多方法都可以把请求路由到网关缓存,但常见的方法是使用负载均衡器让他们对于客户来说,看起来就跟源服务器一样。

内容分发网络(CDN)在整个Internet(或它的一部分)中分发网关缓存,并将其出售给对此感兴趣的网站。

Web缓存对我有坏处么我为什么要帮助它们

Web缓存是互联网中误解深的技术之一。因为代理缓存可以隐藏使用网站的用户,所以网站管理员特别害怕失去对他们的站点的控制,这会使得他们很难去知道是谁在使用他们的站点。

然而不幸的是,即使没有Web缓存,网络上也有非常多的因素可以保证管理员精确的知道一个用户如何使用他们的站点。如果这是你非常关注的问题的话,这篇手册将会指导你如何在站点没有不友好的缓存机制的情况下获取你需要的统计信息。

一、首先是安装memcache
二、DedeCMS后台设置
进入系统后台,在[系统基本参数]下面的"性能选项"卡当中,关于memcache进行如下配置:
cfg_memcache_enable : 是否启用memcache缓存,如果为否(N),默认使用文件缓存;
这个选项设置为开启:Y
cfg_memcache_mc_defa : 默认memcache缓存服务器地址;
这个选项中填入服务器地址:memcache://127001:11211/default127
cfg_memcache_mc_oth : 附加memcache缓存服务器地址;
这个如果没有可以为空
三、设定缓存时间
cfg_puccache_time : 需缓存内容全局缓存时间(秒),这个里面需要设定缓存周期,默认为36000秒
四、Memcache的分布式应用
memcache适合与web server安装在同一server上
memcache可以在n个端口开n个进程,如果和web server在同一机器的话,还能减少网络开销
配置简单,启动一个进程就行了,免去了配置文件
五、DedeCMS缓存函数开发说明
由于封装成小助手的形式,所以在使用的时候先初始化:
helper('cache');
几个简单的方法:
SetCache() 设定缓存信息
GetCache() 获取缓存内容
DelCache() 删除缓存内容,简单的使用例子如:
$rs = GetCache('memberlogin', $mid);
if( empty($rs) )
{
$rs = $dsql->GetOne("SELECT FROM `dede_member` WHERE mid='{$mid}' ");
SetCache('memberlogin', $mid, $rs, 1800);
}

作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在redis的配置文件里面设置:
example:
#
限定最多使用15GB内存
maxmemory
1536mb
如果内存到达了指定的上限,还要往redis里面添加更多的缓存内容,需要设置清理内容的策略:
默认为0,没有指定最大缓存,如果有新的数据添加,超过最大内存,则会使redis崩溃,所以一点要设置。
设置maxmemory之后,配合的要设置缓存数据回收策略。

域名服务(DNS)是一种Internet服务,可将IP地址和标准域名(FQDN)相互映射。这样,DNS减轻了记住IP地址的需要。运行DNS的计算机称为名称服务器。Ubuntu附带了BIND (Berkley Internet Naming Daemon),BIND是用于在Linux上维护名称服务器的最常用程序。

在终端提示符下,输入以下命令安装 dns:

dnsutils 软件包是测试和解决 DNS 问题非常有用的。 这些工具通常已经安装,但是要检查或安装 dnsutils,请输入以下内容:

有许多方法可以配置BIND9。一些最常见的配置是缓存名称服务器,主服务器和辅助服务器。

DNS配置文件存储在 /etc/bind 目录中。主要配置文件是 /etc/bind/namedconf ,在软件包提供的布局中仅包括这些文件。

可以将同一服务器配置为缓存名称服务器,主要和辅助名称服务器:这都取决于它所服务的区域。服务器可以是一个区域的授权开始(SOA),同时为另一区域提供辅助服务。同时为本地LAN上的主机提供缓存服务。

默认配置充当缓存服务器。只需取消注释并编辑 /etc/bind/namedconfoptions 即可设置ISP的DNS服务器的IP地址:

要启用新配置,请重新启动DNS服务器。在终端提示下:

在本节中,将BIND9配置为域的主服务器 examplecom 。只需 examplecom 用您的FQDN(完全合格的域名)替换即可。

要将DNS区域添加到BIND9,将BIND9变成主服务器,请首先编辑 /etc/bind/namedconflocal :

现在,使用现有的区域文件作为模板来创建 /etc/bind/dbexamplecom 文件:

编辑新的区域文件, /etc/bind/dbexamplecom 然后更改 localhost为服务器的FQDN,在末尾保留其他文件。更改 127001 为名称服务器的IP地址和 rootlocalhost 有效的电子邮件地址,但用 代替通常的 @ 符号,并再次在末尾保留。更改注释以指示此文件所针对的域。

为基本域创建 A 记录 examplecom 。此外,创建一个 A 记录的 nsexamplecom ,在这个例子中,域名服务器:

每次更改区域文件时,都必须增加序列号(Serial)。如果在重新启动BIND9之前进行了多次更改,只需增加一次串行。

现在,您可以将DNS记录添加到区域文件的底部。有关详细信息,请 参阅公共记录类型 。

对区域文件进行了更改之后,需要重新启动BIND9以使更改生效

现在已经设置了区域并将名称解析为IP地址,现在需要添加反向区域以允许DNS将地址解析为名称。

编辑 /etc/bind/namedconflocal 并添加以下内容:

现在创建 /etc/bind/db192 文件:

接下来编辑 /etc/bind/db192 ,更改与 /etc/bind/dbexamplecom 相同的选项:

每次更改时,“反向”区域中的序列号也需要增加。 对于您在 /etc/bind/dbexamplecom 中配置的每个A记录(即针对另一个地址),您需要在 /etc/bind/db192 中创建一个PTR记录。

创建反向区域文件后,重新启动BIND9

一旦配置了主服务器,强烈建议使用辅助服务器,以在主服务器不可用时维持域的可用性。

首先,在主服务器上,需要允许区域传输。将 allow-transfer 选项添加到示例正向和反向区域定义中 /etc/bind/namedconflocal :

在主服务器上重新启动BIND9:

接下来,在辅助服务器上,以与主服务器相同的方式安装bind9软件包。然后编辑, /etc/bind/namedconflocal 并为正向和反向区域添加以下声明:

在辅助服务器上重新启动BIND9:

在其中, /var/log/syslog 您应该看到类似以下内容的内容(为了适应本文档的格式,对某些行进行了拆分):

测试BIND9的第一步是将名称服务器的IP地址添加到主机解析器。应该配置主要名称服务器以及另一个主机,以仔细检查。有关将名称服务器地址添加到网络客户端的详细信息,请参阅DNS客户端配置。最后,您的 nameserver 一行 /etc/resolvconf 应指向, 1270053 并且您应该 search 为您的域指定一个参数。像这样:

要检查您的本地解析器正在使用哪个DNS服务器,请运行:

如果安装了dnsutils软件包,则可以使用DNS查找实用程序dig测试设置:

安装完BIND9之后,请对环回接口使用dig来确保它正在侦听端口53。从终端提示符下:

您应该在命令输出中看到类似于以下内容的行:

如果您已将BIND9配置为缓存名称服务器,则“挖掘”外部域以检查查询时间:

注意查询时间接近命令输出的末尾:

经过第二次挖掘后,应该有所改进:

现在演示应用程序如何使用DNS解析主机名,使用ping实用程序发送ICMP回显请求:

这测试名称服务器是否可以将名称解析为 nsexamplecom IP 地址。 命令输出应类似于:

测试区域文件的一种好方法是使用 named-checkzone 与bind9软件包一起安装的实用程序。使用此实用程序,可以在重新启动BIND9并使更改生效之前确保配置正确。

要测试我们的示例正向区域文件,请从命令提示符处输入以下内容:

如果一切配置正确,您应该会看到类似以下的输出:

同样,要测试反向区域文件,请输入以下内容:

输出应类似于:

BIND9有多种可用的日志记录配置选项,但是两个主要的选项是 channel 和 category ,它们分别配置日志的去向和要记录的信息。

如果未配置任何日志记录选项,则默认配置为:

让我们将BIND9配置为将与DNS查询相关的调试消息发送到单独的文件。

我们需要配置一个通道以指定要将消息发送到的文件,以及一个category。在此示例中,类别将记录所有查询。编辑 /etc/bind/namedconflocal 并添加以下内容:

由于命名守护程序以绑定用户身份运行,因此 /var/log/named 必须创建目录并更改所有权:

现在重新启动BIND9,以使更改生效:

您应该看到文件中 /var/log/named/querylog 填充了查询信息。这是BIND9日志记录选项的简单示例。

你说的是缓存大小吧

Apache 的缓存方式有两种,一种是基于硬盘文件的缓存,由 mod_disk_cache 实现,另一种是使用内存缓存,由 mod_mem_cache 实现,不过它们都是依赖 mod_cache 模块的,mod_cache 模块提供了一些缓存配置的指令供它们使用,而 mod_file_cache 模块是搭配 mod_mem_cache 模块使用的,下面分别进行介绍。


1、基于硬盘文件的缓存
基于硬盘文件存储的缓存由 mod_disk_cache 模块实现,先看个简单的配置例子:
<IfModule mod_cachec>
CacheDefaultExpire 86400
<IfModule mod_disk_cachec>
CacheEnable disk /
CacheRoot /tmp/apacheCache
CacheDirLevels 5
CacheDirLength 4
CacheMaxFileSize 1048576
CacheMinFileSize 10
</IfModule>
</IfModule>


把上面的配置加到 Apache 的 >给HP服务器硬盘设置写入缓存步骤如下:
1、在键盘上按下win+X组合键调出隐形菜单,随后选择设备管理器进入。
2、打开设备管理器界面后,直接选择磁盘驱动器,右键以下选项后打开属性窗口。
3、在d出的属性窗口中,直接将鼠标切换到策略选项,随后勾选以下复选框,最后保存设置。

•目前的版本可扩展到最多32个ESXi主机/节点,每个主机最多支持8个固态硬盘,每个主机最多支持4TB。
•当你启用vFlash后,它会创建一个新型的文件系统,名为虚拟闪存文件系统(即VFFS)。
•VFFS仍会在VFFS上为交换到固态硬盘这项传统功能提供支持。
•为虚拟机启用vFlash时,你可以在一个VMDK而不是在另一个VMDK上启用它。你还可以控制每个VMDK缓存的块大小。
•这种缓存 *** 作对虚拟机的 *** 作系统和应用程序而言是透明的。
两个方面让vFlash显得很独特。首先,VMware完全支持它,即便推出了高级的vSphere功能,比如vSphere高可用性、分布式资源调度工具(DRS)和vMotion。
其次,vFlash框架向第三方开发和管理开放。这意味着,第三方厂商可以开发新的工具,或者将现有的存储工具与vFlash集成起来。vFlash框架让厂商们可以开发出vFlash插件(名为vFlash缓存模块),而VMware vFlash Cache(vFC)插件是我在此讨论的默认插件。
在你开始点击鼠标、试图启用vFlash之前,确保你的系统满足下面这些要求:
•你必须拥有vSphere企业增强版(vSphere Enterprise Plus)的许可证。这是支持vFlash的唯一vSphere版本。
•你必须拥有本地、未使用的固态硬盘磁盘。你无法用它们来启动ESXi、无法存储虚拟机,也无法用于VMware vSAN。
•你必须使用vSphere 55、vCenter 55和vSphere Web客户程序。你无法在vSphere Client for Windows中配置vFlash。
不过,配置vFlash很容易,通过vSphere 55 Web客户程序,分三个步骤来完成:
1 配置虚拟闪存资源。在每个ESXi主机上都要完成这一步。点击Manage(管理)选项卡,再点击Settings(设置),在新的Virtual Flash(虚拟闪存)部分,选择Virtual Flash Resource Management(虚拟闪存资源管理)。点击Add Capacity(添加资源),就可以将你的本地固态硬盘作为一种闪存缓存资源添加上去。
2 配置虚拟交换主机缓存。下一步,点击Settings(设置)下面的虚拟闪存主机交换缓存配置选项。点击Edit(编辑),即可改动虚拟交换主机缓存配置。然后点击启用虚拟交换主机缓存的复选框,并且指定缓存大小(这个大小可以是你的整个固态硬盘,如果你选择这么做的话。)
3 在你的虚拟机上配置vFlash。最后,你需要针对每个虚拟机、每个VMDK来启用vFlash。为此,依次进入到你的虚拟机设置、虚拟机磁盘文件配置以及虚拟闪存读取缓存配置,然后输入一个值。这为该VMDK指定了读取缓存配置大小。你在这里还可以为该虚拟机和VMDK指定读取缓存的块大小。
至此,vFlash已配置完毕。你应该很快可以开始看到该虚拟机及其应用程序执行的所有读取 *** 作的性能得到了提升。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10406742.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-08
下一篇2023-05-08

发表评论

登录后才能评论

评论列表(0条)