您现在的位置是:主页 > 虚拟主机 >

大数据的商业价值-野生数据狗:修复AWS弹性块存储的慢写

2020-10-21 10:01虚拟主机 人已围观

简介客人其他/指标/美国焊接学会/美国焊接学会/ebs公司/警报/amazonThis是Deepak Balasubramanyam的客座帖子,他是Konotor.com公司,这是一个移动第一用户参与平台,帮助企业参与、保留和销售更多...

野生数据狗:修复AWS弹性块存储的慢写

客人其他/指标/美国焊接学会/美国焊接学会/ebs公司/警报/amazonThis是Deepak Balasubramanyam的客座帖子,他是Konotor.com公司,这是一个移动第一用户参与平台,帮助企业参与、保留和销售更多的移动应用程序用户.BackgroundKonotor在过去的一年里,我们的业务增长非常迅速,因此我们的业务规模也迅速增长。与许多成长中的公司一样,我们发现自己花费了越来越多的精力来让我们的监控实践跟上业务的步伐。这些是我们的一些压力问题:怎么可能在问题严重影响我们的用户之前,我们会发现问题吗?我们如何将不同的事件和指标关联起来,以了解正在发生的事情?随着我们的用户群和基础设施的增长,我们如何做到这些?然后我们找到了数据狗。它回答了所有这些问题和更多问题。用Datadog进行监控对Konotor来说非常有价值。在本文中,物联网教室,我将分享Datadog如何帮助我们解决一个大问题:扩展PostgreSQL数据库。问题:AWS弹性块存储的写入速度较慢我们希望PostgreSQL提供快速的数据库响应,因此我们决定使用支持SSD的AWS弹性块存储(EBS)。一切都很顺利,直到我们开始收到一些写查询开始变慢的警报。我说的慢是指真的很慢。通常需要50毫秒的时间现在需要800毫秒,这很令人费解,因为Datadog上的流量统计数据显示,峰值流量已经过去,一天即将结束。发生这种情况时,数据磁盘上的队列长度很长,但是是什么原因造成的呢?研究我们决定将写操作与队列长度相关联,我们发现了一些奇怪的现象:在写操作开始减少之后,队列长度立即增加(见下文)。发生什么事了?与写入操作数相关的设备队列长度是一个写量很大的应用程序。我们跟踪移动用户指标和随时间变化的自定义属性。上面的图表为我们提供了一个线索:AWS弹性块存储写入量在下降,尽管有大量新的写入请求从应用程序传入(并被发送到队列)。使用Datadog,爱返利,我们确认CPU没有达到最大值(尽管它花费了大量时间等待IO),免费vps服务器,有可用的RAM,我们的PostgreSQL锁看起来不错。这让我们认识到:EBS限制了我们的写作!当我们发现要正确分配数据库的磁盘数时,我们会发现无法正确使用多少磁盘。假设您购买的SSD磁盘大小为100gb,并且分配了500iops。使用我们使用的通用(SSD)卷,AWS弹性块存储将允许您超过IO限制,以防您的站点遇到突发流量。在写这篇文章的时候,有一个计算公式。你要什么学分?当不超过其基本性能时,您的设备会累积积分。由于我们所消耗的写操作(主要是)和读操作比为我们提供的要多,所以AWS弹性块存储节流阀启动并将IOPS限制在设备的基础上性能。解决方案有许多可能的解决方案,可以单独使用,也可以一起使用。使用最适合你的策略情境。脱衣舞多磁盘通过分条可以将IO负载分散到磁盘上,这种方法可以很好地处理突发事件。确保数据库有正确的备份策略来处理磁盘失败。使用配置IOPS(SSD)您可以随时购买更多IO电源。您的应用程序可能需要N IOPS才能在生产中进行扩展。如果使用此策略,请确保购买EBS优化实例。其他需要满足的条件已经由数据狗。使用短暂存储由于明显的原因,这比EBS快,但是这个解决方案从来没有让我满意过,因为重新启动时存储将被耗尽。只有当您知道自己在做什么并在主服务器运行之前确定故障转移计划时,才使用此解决方案下来,走另一个diskPostgreSQL的常用表/索引允许您动态定义一个新的表空间,返利平台有哪些,并使用ALTER子句将特定的表/索引移动到新的表空间中。这样可以确保写大量事务不会影响其他事务。将表/索引移到新表空间时,表将被锁定,因此请使用小心。减少IO写入调整你的应用程序写入和修剪索引可以帮助减少IO。Can您的应用程序缓冲区在将其刷新到数据库之前写入并聚合它们?根据需要更新的索引数,对表执行插入或更新操作将导致更多的写入操作。你能负担得起删除其中的一些或使用部分索引对它们进行修剪吗?检测和预防通过良好的监控,您可以避免这些问题影响您的用户。监视器并提醒所有磁盘上的IO事务。设置警报,以便当您开始接近配置的IOs时,您可以快速采取行动,云服务器租用,避免IO耗尽学分。监听器如何使用CPU时间。当我们在2天内遇到这个问题时,由于队列长度很长,大部分CPU时间都花在IO等待上。注意实际的CPU利用率很低,但是IO wait(以浅紫色显示)非常高。监视磁盘延迟。您也应该监视高磁盘延迟。为什么我们使用Datadog当我们想扩展我们的操作时,我们很容易知道Datadog支持我们。这些是数据狗闪耀。相关要知道,如果对数据库的写入量增加是因为web流量增加,还是因为在应用程序3.0.1版中添加了索引,则需要关联数据。虽然您可以从AWS中获取一些度量,但您无法轻松地将它们关联起来或构造仪表板动态的。更多度量随着基础设施的扩展,您将需要更多的度量源。无论您使用Kafka还是Tomcat,Datadog都为sun.LightweightDatadog的代理是轻量级的,对生产系统几乎没有任何开销。例如,插件可以轮询来自框架的HTTP API的数据(比如来自RabbitMQ),而不是更具侵入性地收集这些数据(通过存在于框架内部)。如果您希望避免存储问题影响到用户,请注册Datadog的14天免费试用,并监视您的CPU使用率、磁盘延迟等。

Tags: 慢写  存储  数据  弹性  修复  野生 

站点信息

  • 文章统计3903篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们