手机版 欢迎访问魄力云云市场资讯网站

当前位置:主页 > 云虚拟主机 >

云存储技术_云服务器能做什么

时间:2020-10-31 05:28:23|来源:魄力云|编辑:魄力云|点击:

使用Memcached监控加速您的web应用程序

集成/memcached指标/memcached性能/web应用程序性能/memcachedMemcached是一个开源、高性能、分布式内存对象缓存系统。它充当内存中任意数据的键值存储,通常用于加速动态web应用程序。由于Memcached将数据存储在内存中,与基于磁盘的操作相比,从存储器中写入和读取数据的速度非常快。但是,数据是不稳定的,这意味着Memcached通常不应该用作永久数据存储。相反,顾名思义,它更适合用作缓存。这个博客将被分成两部分。在第一部分中,我将向您展示一个可以使用Memcached优化的典型web应用程序请求,以及如何使用Datadog代理从Memcached收集关键指标。下周,在博客的第二部分中,我们将深入探讨使用DogStatsD.优化使用Memcached监控的web应用程序在web应用程序中使用Memcached的一种常见方法是缓存对关系数据库进行的昂贵查询的结果。使用相同查询的后续请求可以从缓存而不是数据库中读取,从而大大提高了响应速度时间。这里是一个简单请求的一些Python代码,可以从中受益Memcached:def get_用户(用户账号):为用户返回查询数据库在这里,查询_database_for_user是我们的慢数据库查询Memcached protocol指定在特定键设置值,然后稍后获取缓存值的能力。当使用Memcached作为缓存时,通常会设置生存时间,它指定缓存存储数据的时间量。通过在一段时间后清除该值,我们的数据会定期从数据库中刷新,以反映自上次缓存该值以来可能发生的任何更改。"生存时间"还确保我们的缓存只包含最近访问过的数据(希望很快会再次访问)。我们可以通过设置Memcached服务器、获取客户端、然后在代码:导入memcachemc=memcache客户端(['127.0.0.1:11211')def get_user(用户_id):用户=mc.get公司('user:%s'%user\u id)如果用户不是:user=query_database_for_user(用户_id)mc.set公司('user:%s'%user\uid,user,time=300)返回用户第一次执行请求时,键"user:%s"%userid将不存在任何值。当这种情况发生时,mc.get公司不返回。因此,我们像平常一样为_user运行query_database_,并在缓存中设置结果,生存时间为300秒。那么用户就是返回。如果然后在300秒之前用相同的用户_id执行请求,mc.get公司将返回缓存结果。因此,我们可以跳过代价高昂的数据库查询,只需返回使用者.仪器Memcached with datadog现在我们有一个Memcached服务器正在运行并优化我们以前慢的get_用户请求,我们可能需要设置Memcached监控来确保它正常工作。它有足够的内存吗?每秒发生多少次?有多少是失误?我们通过启用Datadog的Memcached集成来回答这些问题以及更多问题。安装完Memcached集成之后(别忘了运行Datadog代理),进入Memcached集成仪表板。在这里,您将能够监视指示Memcached服务器总体运行状况的指标。您可以访问更多的Memcached度量,方法是转到metrics Explorer,然后在memcache命名空间中搜索度量:Memcached的主要指标现在我们已经运行了Memcached集成,下面是一些最重要的Memcached指标监视器:系统内存制作确保你的Memcached机器上的物理内存没有用完。如果Memcached使用的内存页开始被交换到磁盘上,那么请求将大大减慢,而且使用Memcached可能根本没有好处。默认情况下,Memcached的内存使用上限为64MB,但您可能希望在启动服务器时使用-m选项来更改此设置。需要注意的是,Memcached不会立即声明您配置的内存量;它会在存储更多项时分配和保留物理内存,使用标志的值作为内存使用的上限。确保您有足够的内存来存储Memcached大小。填充百分比和逐出记录缓存中的可用空间量是个好主意。当存储数据时遇到完全缓存时,缓存将从缓存中逐出旧的、未使用的项,并将其替换为新项。如果你的缓存总是满的,你可能需要增加缓存的大小,减少一些记录的生存时间,或者减少存储的数据。类似地,如果你的缓存几乎没有被使用,那么你可能有能力增加你的生命周期,或者减少你的缓存。在乍一看,似乎memcache.fill_百分比告诉我们有关缓存中可用空间量的所有信息。但是,由于Memcached将内存页分配到slab中的方式,即使在缓存没有100%满的情况下,也有可能发生缓存收回。这就是为什么关注memcache.evictions_率metric,它还指示缓存中的可用空间量;如果逐出频率突然增加,而填充百分比低于100%,则单个slab类可能会全部。命中以及MissesmMcCache.get_命中率以及memcache.get_未命中率指标是用于检查缓存的一般运行状况和使用情况。它们允许您查看访问缓存的频率,以及导致缓存命中和未命中的请求数。一般来说,为了使缓存有效,您希望缓存命中数明显多于未命中数。注意这两个指标,以及命中和未命中的比率;如果这三个指标中的任何一个开始下降,就有可能发生什么错了。进来结论是,我们使用Memcached来加速一个缓慢的请求,并安装了Datadog Memcached集成来收集关于Memcached服务器的一般指标。我们还将重点放在要监视的前三组Memcached指标上。下周,我们将深入研究缓存的性能,方法是使用DogStatsD.到加速你的网络应用程序和监控关键的Memcached指标在这篇文章中讨论,你可以尝试Datadog免费14天啊。开心监视!

云主机服务商 Ucloud云计算 移动云数据 云存储服务器 Ucloud云主机 云计算提供商 阿里数据库 服务器租用 云储存服务器 Web云服务器 ucloud云数据库 独享云主机 云服务器服务商 海外云存储 云服务器主机 云计算解决方案 国内云存储 数据库云平台

Copyright © 2002-2020 魄力云 版权所有