当前位置: 首页 > news >正文

wordpress网站打开很慢成都建设网上办事大厅

wordpress网站打开很慢,成都建设网上办事大厅,建筑设计领域,怎样建设一个自己的网站首页业务背景 OpenTSDB 是一款非常适合存储海量时间序列数据的开源软件#xff0c;使用 HBase 作为存储让它变的非常容易扩展。我们在建设美团性能监控平台的过程中#xff0c;每天需要处理数以亿计的数据#xff0c;经过几番探索和调研#xff0c;最终选取了 OpenTSDB 作为数据… 业务背景 OpenTSDB 是一款非常适合存储海量时间序列数据的开源软件使用 HBase 作为存储让它变的非常容易扩展。我们在建设美团性能监控平台的过程中每天需要处理数以亿计的数据经过几番探索和调研最终选取了 OpenTSDB 作为数据存储层的重要组件。OpenTSDB 的安装和配置过程都比较简单但是在实际的业务应用中还是会出现这样那样的问题本文详细介绍我们在OpenTSDB 实际使用过程中遇到的 HBase 整点压力过大的问题期望对大家有些参考意义。 问题的出现 性能监控平台使用 OpenTSDB 负责存储之后不久创建的表名称是 tsdb-perf数据平台组的同事发现tsdb-perf 这个表在最近这段时间每天上午 10 点左右有大量的读操作造成 HBase 集群压力过大但是想去分析问题的时候发现读操作又降为 0 了为了避免类似情况未来突然发生需要我来排查下原因。 于是我就想性能监控平台目前只是个内部系统用户使用量不大并且只有在用户需要查看数据时去查询数据读取量不应该造成 HBase 的压力过大。 重现问题 如果要解决这个问题稳定重现是个必要条件根据数据平台组同事的反馈我们做了更详细的监控每隔两分钟采集性能监控平台所用的 HBase 集群的读操作数量发现是下面的变化趋势 13:00:05 0 13:02:01 66372 13:04:01 96746 13:06:02 101784 13:08:01 99254 13:10:02 2814 13:12:01 93668 13:14:02 93224 13:16:02 90118 13:18:02 11376 13:20:01 85134 13:22:01 81880 13:24:01 80916 13:26:01 77694 13:28:02 76312 13:30:01 73310 13:32:02 0 13:34:01 0 13:36:01 0 13:38:02 0 13:40:01 0 13:42:02 0 13:44:01 0 13:46:02 0 13:48:01 0 13:50:02 0 13:52:01 0 13:54:02 0 13:56:01 0 13:58:02 0 14:00:01 0 14:02:01 36487 14:04:01 43946 14:06:01 53002 14:08:02 51598 14:10:01 54914 14:12:02 95784 14:14:04 53866 14:16:02 54868 14:18:01 54122 14:20:04 0 14:22:01 0 14:24:02 0 14:26:01 0 14:28:01 0 14:30:01 0 14:32:02 0 14:34:01 0从图上不难看出每到整点开始 tsdb-perf 这个表的读操作飚的很高大约持续半个小时之后恢复到 0 。到下个整点又出现类似的问题并没有像数据平台组同事观察到的突然回复正常了可能他们连续两次观察的时间点刚好错开了。 于是真正的问题就变成了OpenTSDB 到 HBase 的读操作每到整点开始飚的很高持续大约半小时后回复正常这种类脉冲式的流量冲击会给 HBase 集群的稳定性带来负面影响。 定位问题所在 事出反常必有妖OpenTSDB 到 HBase 的大量读操作肯定伴随很大的网络流量因为两者用 HTTP 通信我们得仔细梳理下可能造成这种情况的几种原因。性能监控平台的架构图如下 从架构图可以看出只有数据聚合服务和报表系统会和 OpenTSDB 交互聚合服务向里面写数据报表系统从里面读数据。然后 OpenTSDB 负责把数据发送到 HBase 中。从数据流动的方向来讲有可能是报表系统导致了大量的读操作也有可能是聚合服务里面存在不合理的读请求也有可能是 OpenTSDB 本身存在缺陷。 首先排除的是报表系统导致的大量读操作因为只会在用户查看某些报表时才会从 OpenTSDB 读取数据目前报表系统每天的访问量也才几百不足以造成如此大的影响。 其次如何确认是否是聚合服务导致了大量的读请求呢可以从网络流量的视角来分析如果聚合服务到 OpenTSDB 的流量过大完全有可能导致 OpenTSDB 到 HBase 的过大流量但是由于目前聚合服务和 TSDB 写实例是部署在相同的机器上无法方便的统计到网络流量的大小于是我们把聚合服务和 TSDB 写实例分开部署得到下面的流量统计图 聚合服务只接收来自解析服务的数据包计算完毕之后发送给 TSDB其网络流量如下图 TSDB 服务只接收来自聚合服务的数据然后发送到 HBase却出现了脉冲式的冲高回落网络流量如下图 这样就可以排除聚合服务造成的问题出问题的地方就在 OpenTSDB 和 HBase 集群之间其他业务线并没有造成 HBase 的压力过大看来问题应该出在 OpenTSDB 里面如果这个问题是 OpenTSDB 内部存在的那么其他使用了 OpenTSDB 的系统肯定也存在类似的问题下面是另外一个组部署的 OpenTSDB 的机器的网络流量图注意这台机器上只部署了 OpenTSDB 服务 这让我更加确信问题是在 OpenTSDB 内部也就是它的工作机制导致了这种问题。 查找问题原因 于是我先后查阅了 OpenTSDB 的官方文档和 Google Group 讨论组里的大部分帖子还下载来了 OpenTSDB 的源代码探个究竟另外在从读操作从 0 到暴涨的过程中仔细盯着 OpenTSDB 的 stat 页面特别关注下面红色方框中的几个指标 让我感觉比较诡异的是与大量读操作同时发生的还有大量的删除操作官方文档上的这段话很好的解释了我的疑惑 If compactions have been enabled for a TSD, a row may be compacted after it’s base hour has passed or a query has run over the row. Compacted columns simply squash all of the data points together to reduce the amount of overhead consumed by disparate data points. Data is initially written to individual columns for speed, then compacted later for storage efficiency. Once a row is compacted, the individual data points are deleted. Data may be written back to the row and compacted again later. 这段话很好的解释了 OpenTSDB 的 Compaction 机制的工作原理OpenTSDB 内部的工作原理比这个更复杂下面我说下我通俗的理解 为了节省存储空间和提高数据读取速度OpenTSDB 内部有个数据压缩即 Compaction的机制将设定的某个时间段内某个指标的所有数据压缩成单行重新写到 HBaseOpenTSDB 运行时默认把收到的数据原始数据点每秒1次的速度批量写到 HBase 上然后会周期性的触发上面提到的数据压缩机制把原始数据点拿出来压缩后重新写回HBase然后把原始数据点删除这就虽然我们只往 OpenTSDB 写数据但大量的读和删操作还是会发生的原因OpenTSDB 默认的配置是以 3600 秒为区间压缩实际运行时就是整点触发这样整点发生的大量读、删操作就可以解释了至此线上 OpenTSDB 实例整点大量读操作造成 HBase 集群压力过大的问题原因基本明了。 如何解决问题 找到问题的原因之后我们想到了以下 2 种解决方案 禁用 OpenTSDB 的 Compaction 机制这样 OpenTSDB 就变成了 1 个纯粹的写实例数据读取速度会有牺牲因为每次读取需要扫描更多的数据这个对于业务数据量很大的系统来说可能并不合适想办法让 OpenTSDB 的数据压缩过程缓慢进行这样到 HBase 的流量压力就会平缓很多但是这样做还是有风险因为如果从业务系统到 OpenTSDB 的流量暴涨仍然有可能会 HBase 压力过大不过这就是另外1个问题了HBase 需要扩容实际操作过程中我们使用了第 2 种方案修改 OpenTSDB 的源代码中 src/core/CompactionQueue.java 中的 FLUSH_SPEED 常量为 1重新编译即可。这样改动的实际影响是默认压缩速度是 2 倍速即最多半个小时内完成前 1 个小时数据的压缩重新写回到 HBase可以把这个调成 1 倍速给它 1 个小时的时间来完成前 1 个小时数据的 Compaction这样到 HBase 的流量会平缓很多。 经验和教训 几经辗转终于找到问题原因所在离解决问题还有距离下面是我的几点感受 解决问题之前要能够稳定重现找到真正的问题所在不能停留在表面如果不进行几个小时的 HBase 读操作监控不会发现整点暴涨持续半小时然后回落的问题系统的运行环境很复杂必要的时候要想办法把问题隔离到影响因素更少的环境中更容易发现问题比如性能监控平台各组件的混合部署给机器间的流量分析造成了困难使用开源软件最好能深入了解下运行机制用起来才得心应手不然出了问题就很麻烦这次的排查过程让我更加详细的了解了 OpenTSDB 的运行机制至此本文完~
http://www.zqtcl.cn/news/214788/

相关文章:

  • 在哪里可以学习做网站西安制作公司网站的公司
  • 网站建设 更新 维护淮北矿业工程建设公司网站
  • 网站开发 平台宝应做网站
  • 网站开发开题报告广州的兼职网站建设
  • 辽宁同鑫建设网站网站后期维护费用
  • 政法网站建设有哪些不足广州网站建设信息科技有限公司
  • 营销型网站 平台海口智能建站价格
  • 网站空间过期电商网站建设比较好的
  • seo公司 彼亿营销舆情优化公司
  • diango是做网站的后端吗网页怎么做成app
  • 思勤传媒网站建设公司如何查询网站的外链
  • 网站设计思路文案范文专业手机网站建设多少钱
  • 有部分网站打不开网站服务内容怎么写
  • 百度安全网站检测好看的免费的小说网站模板
  • 锡山区住房和城乡建设局网站免费ppt模板下载简约
  • 建设银行 杭州招聘网站建设工程有限公司是干什么的
  • 做网站必须购买空间吗?3点新闻发布
  • 济南集团网站建设流程东莞做网站公司首选
  • 有需要做网站推广找我网站怎么 备案
  • 怎么把网站放到服务器上站长工具seo综合查询外部链接数量
  • 做网站上市的公司开一家公司最低注册资金
  • 仙居谁认识做网站的有哪些好的网站建设
  • 互动广告机网站建设怀集网站建设
  • 好的 做网站的软件公司pinterest app下载
  • 公司网站报价邯郸软件定制
  • 产品毕业设计代做网站资料库网站源码
  • 交易类网站做支付宝功能建设银行网站收款怎么打明细
  • 广州找人做网站做网站网关备案
  • 网站的布局方式有哪些内容免费ppt模板下载公众号
  • 色91Av做爰网站获胜者网站建设