大规模分布式系统架构下调测能力构建之道jpg) QCon 全球软件开发大会 INTERNATIONAL SOFTWARE DEVELOPMENT CONFERENCE BEIJING 2017 # 大规模分布式系统架构下调测能力构建之道 天弘基金 李鑫 主办方 Geekbang. InfoQ ## 促进软件开发领域知识与创新的传播 大型规模应用+契约协同 ## 服务化后的问题 多团队协同的分布式环境下,不仅环境“重”,而且外部的服务是别的团队开发的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口调测存在如下困难: 开发依赖重  解决之0 码力 | 19 页 | 2.74 MB | 2 年前3
Go性能优化概览-曹春晖首先,是发现问题 API 压测 全链路压测 进 pprof 寻找(可能的) 故障原因 CPU 用爆了?90%? 内存用爆了?OOM? Goroutine 用爆了?80w? 线程数爆了? 延迟太高? 按照不同的情况 选择不同的方案 生产环境被 高峰流量打爆了 线上一定要开 pprof 如果有安全考虑 那也一定要有能通过配置开启的能力 ## 压测时关注哪些服务指标 ## RED 2.8, Statistics) ## 压测时关注哪些服务指标 因为我们是 Go 的服务,还可以额外看看: • Goroutine 数,线程数 - 如果 Goroutine 数很多,那这些 Goroutine 在干什么? • GC 频率,gctrace 的内容(线上保存 gctrace 的话,注意硬盘类型),GC 的 • Memstats 中的其它指标: goroutinesDesc: NewDesc( 4. goroutine 数量过多 -> 从 profile 网页进去看看 goroutine 都在干什么 -> 查死锁、阻塞等问题 -> 个别不在意延迟的选择第三方库优化 ## 压测手段 ## & wrk - a HTTP benchmarking tool ## HEY Vegeta CI passing go report C reference gitter0 码力 | 40 页 | 8.69 MB | 2 年前3
Apache ShardingSphere 中文文档 5.3.2BenchmarkSQL ShardingSphere Proxy 分片性能测试 ..... 415 测试目的 ..... 415 测试方法 ..... 415 测试工具微调 ..... 415 压测环境或参数建议 ..... 415 附录 ..... 417 BenchmarkSQL 5.0 PostgreSQL 语句列表 ..... 420 11.6 模块测试 ..... 428 重新搭建一整套与生产环境类似的压测环境,成本过高,并且往往无法模拟线上环境的复杂度以及流量。因此,业内通常选择全链路压测的方式,即在生产环境进行压测,这样所获得的测试结果能够准确地反应系统真实容量和性能水平。 #### 8.9.2 挑战 全链路压测是一项复杂而庞大的工作。需要各个微服务、中间件之间配合与调整,以应对不同流量以及压测标识的透传。通常会搭建一整套压测平台以适用不同测试计划。在数据库 为了保证生产数据的可靠性与完整性,需要将压测产生的数据路由到压测环境数据库,防止压测数据对生产数据库中真实数据造成污染。这就要求业务应用在执行SQL前,能够根据透传的压测标识,做好数据分类,将相应的SQL路由到与之对应的数据源。 #### 8.9.3 目标 Apache ShardingSphere 关注于全链路压测场景下,数据库层面的解决方案。将压测数据自动路由至用户指定的数据库,是 Apache0 码力 | 508 页 | 4.44 MB | 2 年前3
Apache ShardingSphere 中文文档 5.4.111.5.2 BenchmarkSQL ShardingSphere Proxy 分片性能测试 …… 436 测试目的 …… 436 测试方法 …… 436 测试工具微调 …… 436 压测环境或参数建议 …… 437 附录 …… 438 BenchmarkSQL 5.0 PostgreSQL 语句列表 …… 441 11.6 模块测试 …… 449 11.6.1 SQL 重新搭建一整套与生产环境类似的压测环境,成本过高,并且往往无法模拟线上环境的复杂度以及流量。因此,业内通常选择全链路压测的方式,即在生产环境进行压测,这样所获得的测试结果能够准确地反应系统真实容量和性能水平。 #### 8.9.2 挑战 全链路压测是一项复杂而庞大的工作。需要各个微服务、中间件之间配合与调整,以应对不同流量以及压测标识的透传。通常会搭建一整套压测平台以适用不同测试计划。在数据库 为了保证生产数据的可靠性与完整性,需要将压测产生的数据路由到压测环境数据库,防止压测数据对生产数据库中真实数据造成污染。这就要求业务应用在执行SQL前,能够根据透传的压测标识,做好数据分类,将相应的SQL路由到与之对应的数据源。 #### 8.9.3 目标 Apache ShardingSphere 关注于全链路压测场景下,数据库层面的解决方案。将压测数据自动路由至用户指定的数据库,是 Apache0 码力 | 530 页 | 4.49 MB | 2 年前3
字节跳动云原生微服务架构原理与开源实践 CloudWeGo 技术白皮书 2024,有些侧重于吞吐性能,而有些则更侧重P99时延。字节跳动的业务在日常迭代中,常常会出现因某个feature导致一个指标上升,另一个指标下降的情况,因此Kitex在设计之初就更倾向于解决大规模微服务场景下各种问题。 2.2.3 Kitex 最佳实践 RPC框架性能测试指南 1. 确定压测对象 衡量一个RPC框架的性能需要从两个视角分别去思考:Client视角与Server视角。在大规模的业务架构中, 再考虑到Service Mesh的情况就更复杂了。 一些压测项目通常会把 Client 和 Server 进程混部进行压测,然后得出整个框架的性能数据,这其实和线上实际运行情况很可能是不符的。 如果要压测Server,应该给Client尽可能多的资源,把Server压到极限,反之亦然。如果Client和Server都只给了4核CPU进行压测,会导致开发者无法判断最终得出来的性能数据是哪个视角下的,更无法给线上服务做实际的参考。 不支持多路复用的方式调用。 出现了比较大的性能数据偏差。 Kitex最早为保证最大程度的兼容性,在Client端默认使用了短连接,而其他主流开源框架默认使用连接多路复用,这导致一些用户在使用默认配置压测时, 后来为了契合开源用户的常规使用场景,Kitex在 v0.0.2中也加入了默认使用长连接的设置。 3.对齐序列化方式 对于RPC框架来说,不考虑服务治理的话,计算开销主要都集中在序列化与反序列化中。0 码力 | 68 页 | 24.07 MB | 4 月前3
Apache ShardingSphere v5.5.0 中文文档BenchmarkSQL ShardingSphere Proxy 分片性能测试 ..... 462 测试目的 ..... 462 测试方法 ..... 462 测试工具微调 ..... 462 压测环境或参数建议 ..... 463 附录 …… 464 BenchmarkSQL 5.0 PostgreSQL 语句列表 …… 467 11.6 模块测试 …… 475 11.6.1 SQL 重新搭建一整套与生产环境类似的压测环境,成本过高,并且往往无法模拟线上环境的复杂度以及流量。因此,业内通常选择全链路压测的方式,即在生产环境进行压测,这样所获得的测试结果能够准确地反应系统真实容量和性能水平。 #### 8.9.2 挑战 全链路压测是一项复杂而庞大的工作。需要各个微服务、中间件之间配合与调整,以应对不同流量以及压测标识的透传。通常会搭建一整套压测平台以适用不同测试计划。在数据库 为了保证生产数据的可靠性与完整性,需要将压测产生的数据路由到压测环境数据库,防止压测数据对生产数据库中真实数据造成污染。这就要求业务应用在执行SQL前,能够根据透传的压测标识,做好数据分类,将相应的SQL路由到与之对应的数据源。 #### 8.9.3 目标 Apache ShardingSphere 关注于全链路压测场景下,数据库层面的解决方案。将压测数据自动路由至用户指定的数据库,是 Apache0 码力 | 557 页 | 4.61 MB | 2 年前3
Apache ShardingSphere 中文文档 5.2.0BenchmarkSQL ShardingSphere Proxy 分片性能测试 ..... 307 测试目的 ..... 307 测试方法 ..... 307 测试工具微调 ..... 308 压测环境或参数建议 ..... 308 附录 ..... 310 BenchmarkSQL 5.0 PostgreSQL 语句列表 ..... 312 6.6 模块测试 ..... 321 |数据加密|数据加密,是保证数据安全的基本手段。ShardingSphere 提供一套完整的、透明化、安全的、低改造成本的数据加密解决方案。| |影子库|在全链路压测场景下,ShardingSphere 通过影子库功能支持在复杂压测场景下数据隔离,压测获得测试结果可准确反应系统真实容量和性能水平。| #### 1.1.3 产品优势 ## · 极致性能 驱动程序端历经长年打磨,效率接近原生 JDBC,性能极致。 重新搭建一整套与生产环境类似的压测环境,成本过高,并且往往无法模拟线上环境的复杂度以及流量。因此,业内通常选择全链路压测的方式,即在生产环境进行压测,这样所获得的测试结果能够准确地反应系统真实容量和性能水平。 #### 3.9.2 挑战 全链路压测是一项复杂而庞大的工作。需要各个微服务、中间件之间配合与调整,以应对不同流量以及压测标识的透传。通常会搭建一整套压测平台以适用不同测试计划。在数据库0 码力 | 449 页 | 5.85 MB | 2 年前3
微服务架构实践-唯品会00e01f3cefe7d20638f57a9/p23_1.jpg) ## 服务限流 - 域限流,针对整个系统可以支持的最大QPS,设定系统级的限流大小,防止超过整个系统的最大QPS,最终将系统压死 - IP限流,针对一些恶意攻击用户、黑产用户等,需要根据IP做限流,比如单IP每分钟内访问次数超过1000,则针对该IP做限流 - 接口限流,有时单个接口的性能偏差或者一些批量获取接口比较耗时 服务C2 traceid: 10000 Spanid: 2.1 服务C3 traceid: 10000 Spanid: 2.2 ## 服务监控 - 统计系统级别以及接口级别两种维度监控指标数据 - 针对响应时间统计,可以统计响应时间0~10ms、10~50ms、50ms~100ms、100~500ms、500~1000ms、1000~2000ms、2000~5000ms、>5 是否足够小 ||Sentinel|Hystrix| |---|---|---| |熔断降级策略|基于响应时间/失败比率|基于失败比率| |配隔离策略|基于并发数|线程池隔离/信号量隔离| |实时指标实现|滑动窗口|滑动窗口| |限流|基于QPS/并发数|不支持| |流量整形|支持慢启动、匀速器模式|不支持| |系统负载保护|支持|不支持| |控制台|支持可配置规则、查看秒级监控、机器发现等|不完善|0 码力 | 120 页 | 82.16 MB | 2 年前3
美团点评2018技术年货运行时的投放内容进行监控,其主要监控两个指标:运营位数及每个运营位的配置总数。这样做可以带来以下几个好处: 1. 对接入的业务数及机器数进行统计。 2. 通过SDK的配置总数监控,防止数量超过最大限制。 同时,对于非SDK的其他性能指标,我们采用统一的监控平台—CAT进行监控,其中包括:APPKIT中心服务的调用QPS,机器的性能,网络流量等通用指标。 ## 五、 底层模型—灵活性设计 ### 构建时对SDK版本升级进行提示(必要时进行强制),不过大部分运营位使用的都是基础功能,在很大程度上不需要进行频繁地升级。 ## 效果对比 缓存方案与SDK方案的效果对比如下: |QPS/性能指标(单位ms)|平均线|90线|95线|99线|99.9线| |---|---|---|---|---|---| |缓存方案(5.6K)|0.4|2.0|2.0|2.8|2.8| |SDK化方案(5w)|0 器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务。 本文会对 CAT 的客户端、性能等做详细深入的介绍,前不久我们也发过一篇 CAT 相关的文章,里面详细介绍了 CAT 客户端和服务端的设计思路,欲知更多细节,欢迎阅读《深度剖析开源分布式监控0 码力 | 229 页 | 61.61 MB | 2 年前3
Apache ShardingSphere 中文文档 5.1.0逻辑列 …… 56 密文列 …… 56 查询辅助列 …… 56 明文列 …… 56 4.8.5 使用规范 …… 56 支持项 …… 56 不支持项 …… 56 4.9 影子库压测 …… 57 4.9.1 背景 …… 57 4.9.2 挑战 …… 57 4.9.3 目标 …… 57 4.9.4 核心概念 …… 57 生产库 …… 57 影子库 …… 57 /7/d/9/27d9ecac1d1f0fd1ab1aa52a1e8a369c/p17_1.jpg) ### 1.2 解决方案 |解决方案/功能|分布式数据库|数据安全|数据库网关*|全链路压测*| |---|---|---|---|---| ||数据分片|数据加密|异构数据库支持|影子库| ||读写分离|行级权限(TODO)|SQL 方言转换(TODO)|可观测性| ||分布式事务|SQL 项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进行扩展。目前,数据分片、读写分离、数据库高可用、数据加密、影子库压测等功能,以及对 MySQL、PostgreSQL、SQLServer、Oracle 等 SQL 与协议的支持,均通过插件的方式织入项目。Apache ShardingSphere 目前已提供数十个 SPI0 码力 | 406 页 | 4.40 MB | 2 年前3
共 639 条
- 1
- 2
- 3
- 4
- 5
- 6
- 64













