1.每秒百万数据点 Go 应用监控系统演进
如何监控 Go 应用? 第二部分 基于 Prometheus Go 应用监控接入流程 确定指标 为应用埋点 部署应用 配置服务发现 监控展示 指标类型 ● Go 运行时指标 ○ Goroutine 数量 ● 应用层指标 ○ infra_http_request_total ● 业务指标 ○ 总 Tracking 查询量 ○ Tracking 创建速率 ○ 某个 ENT 客户的 系统架构演进 第三部分 2018-2020 2K+ 40K 1Mil+ 2020 年指标数据 业务指标数量 每秒写入数据点 Active Time Series 2018-2020 年架构 2020 年底面临的问题 ● 无法查询超过 30 天的数据 ● 查询慢,平均时间超过 2 分钟 ● 跨集群指标无法聚合 ● Prometheus 集群经常崩溃 ● 维护时 Prometheus Why Thanos VS VS 架构 S3 Thanos 架构 Querier Query-Frontend Store Gateway S3 2022 年中指标数据 14K+ 0.6Mil 30Mil+ 业务指标数量 每秒写入数据点 Active Time Series Thanos 架构优化 Querier Query-Frontend Store Gateway S30 码力 | 42 页 | 2.32 MB | 1 年前3Go可观测性实践
Go工程可观测性实践 周曙光 得物 Go开发 目 录 可观测性概述 01 链路追踪 02 指标 03 可观测性概述 第一部分 广义的可观测性:可以根据系统的外部输出信息推断出系统内部状态的好 坏。 软件系统的可观测性:一种度量能力,能帮你更好的理解系统当前所处的 任何状态。如果无需发布新代码就可以理解任何新的或怪异的状态,那么 系统就具备可观测性。 什么是可观测性? 可观测性开源产品 链路追踪分析 指标 第二部分 Counter Gauge Histogram 指标数据类型 Counter Counter 类型代表一种样本数据单调递增的指标,即只增不减,除非监控系统发生了重置。例如,你 可以使用 counter 类型的指标来表示服务的请求数、已完成的任务数、错误发生的次数等。 Gauge Gauge 类型代表一种样本数据可以任意变化的指标,即可增可减。Gauge 减。Gauge 通常用于像温度或者内存使 用率这种指标数据,也可以表示能随时增加或减少的“总数”,例如:当前并发请求的数量。 Histogram Histogram 在一段时间范围内对数据进行采样,并将其计入可配置的存储桶(bucket)中,后续可通 过指定区间筛选样本,也可以统计样本总数。 插桩(Hook) 指标数据 指标计算 数据流转 使用Collector的好处在于一些 计算操作可以再Collector中统0 码力 | 35 页 | 2.88 MB | 1 年前301. Erda 基于云原生的微服务可观测性 - 刘浩杨
Erda 微服务观测平台优势 指标覆盖完整 通过多种探针,覆盖基础 设施、业务系统、用户终 端全面的数据指标 高实时性 通过流计算平台,数据 处理和告警延迟都在秒 级别 海量数据 存储处理 高性能的大数据处理架 构,轻松应对海量可观 测性数据处理 平台架构 可观测性数据采集 可观测性数据处理 数据存储选择 ES 数据索引管理 自动路由 指标到索引 01 02 03 自动索引滚动0 码力 | 25 页 | 6.96 MB | 1 年前3Go性能优化概览-曹春晖
延迟太⾼? 压测时关注哪些服务指标 压测时关注哪些服务指标 因为我们是 Go 的服务,还可以额外看看: • Goroutine 数,线程数 • 如果 Goroutine 数很多,那这些 Goroutine 在⼲什么? • GC 频率,gctrace 的内容(线上保存 gctrace 的话,注意硬盘类型),GC 的 stw 时间 • Memstats 中的其它指标: https://github0 码力 | 40 页 | 8.69 MB | 1 年前3Golang大规模云原生应用管理实践
策略与机制随着层次的变化而变化; 应用管理的策略与机制 应用 版本 工作负载 负载均衡 标签 流量 组件 日志 指标 容量 服务 依赖 路由规则 持久卷 部署策略 健康检查 … 灰度 发布 定时弹性 事件 指标弹性 分批发布 重启 回滚 日志管理 事件中心 指标监控 存储挂载 服务绑定 手动弹性 回退历史 负载均衡 报警 诊断 组件管理 服务治理 …0 码力 | 23 页 | 7.70 MB | 1 年前3Golang 微服务在腾讯游戏用户运营领域的探索及实践
团队背景 内部生态 业务发展 开发成本 运营成本 Golang CSP并发 多核友好 自动GC 语法简洁 开源库多 CGO集 成 快速交付 内核稳定 生态趋势 数据中间件——指标服务 Golang 高性能 高可用 扩展性 安全性 可运营性 业务发展驱动技术演进 服务网关 过载保护 流控降级 SET部署 立体监控 敏捷集成 微服务探索 跨部门 异构系统 微服务划分 Intervene 干预 Measure 评估 User 用户 • 离线标签类画像, 批量选取用户群 特征 • 离线及实时用户指 标,单用户业务个 性化属性数值 指标 • 短信、Tips、邮 件、站内信通知 触达 • 礼包发放、积分 赠送、体验资格 营销 • 服务编排、运营策略 策略 微服务实践 • CDB + CKV / ETCD 服务注册发现0 码力 | 34 页 | 1.22 MB | 1 年前32.7 Golang与高性能DSP竞价系统
线上运⾏行情况 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved • 每天N亿曝光 • 30个维度,40个指标 • 表的数据量和维度的离散程度相关 • 如⼲⼴广告位有5000个,全国500个城市,时间粒度到⼩小时级别,则地区汇总表⼀一个 推⼲⼴广活动⼀一天最多就有 5000*500*24 = 6千万0 码力 | 51 页 | 5.09 MB | 1 年前33.云原生边云协同AI框架实践
好地识别到新环境的图片; • 边侧数据不足,AI模型训练难以收敛或启动。 云机器人园区室外递送终身学习案例 业务收益: • 未知任务训练提升E1-1F昏暗桥底corner case的mIoU指标达1.78倍; • 启用未知任务训练帮助配送时间从27min38s减少到19min53s,节省幅度 达28%; • 未知任务识别模块上传未知样本,帮助减少253张训练样本打标量,节省幅 度达26%。0 码力 | 37 页 | 2.36 MB | 1 年前3大规模高性能区块链架构设计模式与测试框架-李世敬
26 趣链科技 版权所有 ©2016-2021 26 区块链性能测试工具-产品基础模型 测试 平台 Hyperchain 测试脚本 可视化⼯具 交易成功率 交易吞吐量 交易延迟 … 压测指标 Fabric Ethereum … 测试脚本 测试脚本 27 趣链科技 版权所有 ©2016-2021 27 趣链科技 版权所有 ©2016-2021 27 趣链科技 版权所有 ©2016-20210 码力 | 39 页 | 56.58 MB | 1 年前3Hello 算法 1.1.0 Go版
找到问题解法:算法需要在规定的输入范围内可靠地求得问题的正确解。 2. 寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。 也就是说,在能够解决问题的前提下,算法效率已成为衡量算法优劣的主要评价指标,它包括以下两个维 度。 ‧ 时间效率:算法运行速度的快慢。 ‧ 空间效率:算法占用内存空间的大小。 简而言之,我们的目标是设计“既快又省”的数据结构与算法。而有效地评估算法效率至关重要,因为只有 “以空间换时间”通 常是更常用的策略。当然,在数据量很大的情况下,控制空间复杂度也非常重要。 2.5 小结 1. 重点回顾 算法效率评估 ‧ 时间效率和空间效率是衡量算法优劣的两个主要评价指标。 ‧ 我们可以通过实际测试来评估算法效率,但难以消除测试环境的影响,且会耗费大量计算资源。 ‧ 复杂度分析可以消除实际测试的弊端,分析结果适用于所有运行平台,并且能够揭示算法在不同数据 规模下的效率。 不得不从速度较慢的内存中加载所需数据。 显然,“缓存未命中”越少,CPU 读写数据的效率就越高,程序性能也就越好。我们将 CPU 从缓存中成功获 取数据的比例称为缓存命中率(cache hit rate),这个指标通常用来衡量缓存效率。 为了尽可能达到更高的效率,缓存会采取以下数据加载机制。 ‧ 缓存行:缓存不是单个字节地存储与加载数据,而是以缓存行为单位。相比于单个字节的传输,缓存行 的传输形式更加高效。0 码力 | 383 页 | 18.48 MB | 1 年前3
共 16 条
- 1
- 2