对 Go 程序进行可靠的性能测试
对 Go 程序进行可靠的性能测试 Changkun Ou https://changkun.de/s/gobench/ Go 夜读系列 |talkgo.org|Talk Go|第 83 期 March 26, 2020 # Go 1.13 / 1.14 2020 © Changkun Ou · Go 夜读 · 对 Go 程序进行可靠的性能测试 主要内容 ● 可靠的测试环境 ● benchstat Benchmark 的正确性分析 ○ 例3: 其他的影响因素 ● 假设检验的原理 ● 局限与应对措施 ● 总结 2020 © Changkun Ou · Go 夜读 · 对 Go 程序进行可靠的性能测试 教科书式的性能测试方法论 3 在《Software Testing: Principles and Practices》一书中归纳的性能测试方法论: 1. 搜集需求 2. 编写测试用例 分析性能测试结果 6. 性能调优 7. 性能基准测试(Performance Benchmarking) 8. 向客户推荐合适的配置 可靠的测试环境 2020 © Changkun Ou · Go 夜读 · 对 Go 程序进行可靠的性能测试 什么是可靠的性能基准测试环境 5 影响测试环境的软硬件因素 ● 硬件:CPU 型号、温度、IO 等 ● 软件:操作系统版本、当前系统调度的负载等0 码力 | 37 页 | 1.23 MB | 1 年前3Rust API可靠性分析与验证
Conf 2021 – 2022, Online, China 姜剑峰 Rust API可靠性分析与验证 Rust China Conf 2021 – 2022, Online, China 主题内容 • Rust第三方库API可靠性现状 • 现用方法的局限性 • 基于程序合成+模糊测试的可靠性分析方法 Rust China Conf 2021 – 2022, Online, China Unpin等 动态检查: • 数组越界 • 整数溢出 • Unicode字符边界 Rust China Conf 2021 – 2022, Online, China Rust API 可靠性 现有的机制是否足够呢? • unsafe代码没有破坏内存安全性 • no memory leakage • panic free 在任何合法使用API的情况下 • 所有静态检查提供的 e所破坏) • 所有动态检查都不应该被违背(可以被安全的移除),除非panic是一种 允许的行为 Rust China Conf 2021 – 2022, Online, China 现有的可靠性分析方法及其局限性 模糊测试(afl.rs, libfuzzer):分支覆盖率;用例程序的构造 符号执行(klee, angr):路径爆炸;求解困难 静态分析(MirChecker, Rudra0 码力 | 13 页 | 1.68 MB | 1 年前3使用Rust与ClickHouse构建高效可靠的日志系统
第三届中国Rust开发者大会 使用Rust与ClickHouse构建高 效可靠的日志系统 刘炜 腾讯云(专有云) • 自我介绍 • 系统介绍 • 整体架构 • 系统实现 • 遇到问题 大纲 自我介绍 • 大龄码农 • 做过嵌入式/CDN/数据库开发 • 从C/C++到Rust • 现在在腾讯云(专有云)从事日志系统的开发 自我介绍 PhoTto / image / chart0 码力 | 19 页 | 2.66 MB | 1 年前3openEuler 22.03-LTS 技术白皮书
版本中,openEuler 内核研发团队代码贡献量排名全球第一。坚持内核创新,持续贡献 上游社区。 openEuler 开放透明的开源软件供应链管理 开源操作系统的构建过程,也是供应链聚合优化的过程。拥有可靠开源软件供应链,是大规模商用操作系统的基础。 openEuler 从用户场景出发,回溯梳理相应的软件依赖关系,理清所有软件包的上游社区地址,源码和上游对应验证。完 成构建验证、分发、实现生命周 LTS 版本,聚焦算力释放,持续提升资源利用率,打造全场景协同的数字基础设施操作系统。 openEuler 作为一个操作系统发行版平台,每两年推出一个 LTS 版本。该版本为企业级用户提供了一个安全稳定可靠 的操作系统。 openEuler 也是一个技术孵化器。通过每半年发布一次的创新版,快速集成 openEuler 以及其他社区的最新技术成果, 将社区验证成熟的特性逐步汇合到发行版中。这些新 21.09 长生命周期版本 创新版本 openEuler 社区主线 首个创新版 内核创新版 全场景版本 长生命周期版本:每两年发布一次, 在创新版本基础上提供长生命周期管理; 维护性能、可靠性和兼容性。 创新版本:长生命周期版本之间每 半年发布一次,集成 openEuler 以及其他社区最新版本技术进展 全场景长周期版 20.03 20.09 21.03 21.09 22.030 码力 | 17 页 | 6.52 MB | 1 年前3openEuler 23.09 技术白皮书
创新版本 openEuler 22.09 openEuler 23.09 openEuler 23.03 长生命周期版本 : 每两年发布一次,在创 新版本基础上提供长生命周期管理,维护 性能,可靠性和兼容性 创新版本 : 长生命周期版本之间每半年发 布一次,集成 openEuler 以及其他社区最 新版本技术进展。 openEuler 社区主线 20.03 首个创新版 内核创新版 SP2 SP3 SP3 03 openEuler 23.09 技术白皮书 概述 openEuler 作为一个操作系统发行版平台,每两年推出一个 LTS 版本。该版本为企业级用户提供一个安全稳定可靠的 操作系统。 openEuler 也是一个技术孵化器。通过每半年发布一次的创新版,快速集成 openEuler 以及其他社区的最新技术成果, 将社区验证成熟的特性逐步回合到发行版中。这些新 创新、社区共建,不断增强场景化能力,最终实现统 一操作系统支持多设备,应用一次开发覆盖全场景。 openEuler 覆盖全场景的创新平台 开源操作系统的构建过程,也是供应链聚合优化的过程。拥有可靠开源软件供应链,是大规模商用操作系统的基础。 openEuler 从用户场景出发,回溯梳理相应的软件依赖关系,理清所有软件包的上游社区地址,源码和上游对应验证。完 成构建验证、分发、实现生命周期0 码力 | 52 页 | 5.25 MB | 1 年前3为何选择VMware?
.......................................................................................... 2 从强大而可靠的基础开始 ................................................................................ 2 应用程序的共享 IT 正如您将看到的,人们很快会发现,只有 VMware 能满足所有这些重要需求。而且最重要的是, VMware 提供的解决方案不仅能满足这些需求,而且还具有极低的总体拥有成本 (TCO)。 从强大而可靠的基础开始 并非所有虚拟化管理程序都一样 “VMware 是虚拟化产品领域当之无愧的领袖。我们试用过 Microsoft 和 Oracle 的虚拟化产品,发 现这些产品与 VMware 产品相比,在功能和性能方面都显得不足。” 作为业界第一款用于 x86 系统的“裸机”虚拟化管理程序,VMware ESX 是最可靠且功能最强大的 虚拟化平台。VMware ESX 于 2001 年推出,现在已发展到第三代,已经在全世界数以万计的客户 部署上得到验证。其他虚拟化管理程序仍然是“1.0 版”产品,既没有在生产数据中心中进行验证, 也缺乏提供客户亟需的可靠性、可扩展性和性能所需的核心功能。 因此,虽然其他供应商试图在以下方面跟上 VMware0 码力 | 34 页 | 862.76 KB | 1 年前3阿里云云数据库 Redis 版 产品简介
产品简介 什么是云数据库 Redis 版 云数据库 Redis 版(ApsaraDB for Redis)是兼容开源 Redis 协议标准的、提供持久化的内存数据库服务,基 于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 云数据库 Redis 版支持字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表 简介 标准版-单副本是云数据库 Redis 推出的一种新系列,采用单个数据库节点部署架构。与双副本版本相比,它只 包含一个节点,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯 缓存业务场景使用。 云数据库 Redis 版 产品简介 9 特点 高性价比 Redis 标准版-单副本架构采用单节点部署。阿里云自研的 HA 高可用系统时时探测节点的服务情况 Redis 进程(没有数据 ),当节点故障业务自动切换完成后,应用程序需要将数据重新预热,以免对后端数据库产生访问压 力冲击。 注意:由于单副本模式不能提供数据可靠性,节点故障后需要业务进行预热,如果是对数据可靠性要 求较高的敏感性业务,不建议使用单副本版,可选用双副本高可用版。 对 Redis 协议兼容性要求较高的业务 标准版完全兼容 Redis 协议,业务可以平滑迁移。0 码力 | 33 页 | 1.88 MB | 1 年前3openEuler 22.09 技术白皮书
版本中,openEuler 内核研发团队代码贡献量排名全球第一。 坚持内核创新,持续贡献上游 社区。 openEuler 开放透明的开源软件供应链管理 开源操作系统的构建过程,也是供应链聚合优化的过程。拥有可靠开源软件供应链,是大规模商用操作系统的基础。 openEuler 从用户场景出发,回溯梳理相应的软件依赖关系,理清所有软件包的上游社区地址,源码和上游对应验证。完成构 建验证、分发、实现生命周期 创新版本,充分释放多样性算力,持续深化全场景创新,打造极致迁移能力, 实现欧拉鸿蒙互联互通。 openEuler 作为一个操作系统发行版平台,每两年推出一个 LTS 版本。该版本为企业级用户提供一个安全稳定可靠的操 作系统。 openEuler 也是一个技术孵化器。通过每半年发布一次的创新版,快速集成 openEuler 以及其他社区的最新技术成果, 将社区验证成熟的特性逐步回合到发行版中。这些新 21.09 长生命周期版本 创新版本 openEuler 社区主线 首个创新版 内核创新版 全场景版本 长生命周期版本:每两年发布一次, 在创新版本基础上提供长生命周期管理; 维护性能、可靠性和兼容性。 创新版本:长生命周期版本之间每 半年发布一次,集成 openEuler 以及其他社区最新版本技术进展 全场景长周期版 20.03 20.09 21.03 21.09 22.030 码力 | 13 页 | 1.39 MB | 1 年前3基于amqp实现的golang消息队列MaxQ
7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 4/22 生产者消费者 通信方式 存储方式 堆积能力 消息可靠性 生产消费关系 Pull/Push 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 5/22 5. MaxQ相关特性 1. 消息可靠性 2. 容错性 3. 扩展性 4. 高并发 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 11/22 消息可靠性 1) Publishing可靠性 -> Con�rm 2) 消息Routing可靠性 -> Publish mandatory mandatory 3) Consuming可靠性 -> Ack 4) Persisting可靠性 -> RAID1 5) 分布式下的可靠性 -> Slave Queue 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 12/22 容错性 zookeeper不可用 元数据已缓存在内存中,不会有0 码力 | 22 页 | 1.45 MB | 1 年前3openEuler 22.03 LTS SP2 技术白皮书
openEuler 22.03 LTS 创新版本 openEuler 22.09 openEuler 23.03 长生命周期版本 : 每两年发布一次,在创 新版本基础上提供长生命周期管理,维护 性能,可靠性和兼容性 创新版本 : 长生命周期版本之间每半年发 布一次,集成 openEuler 以及其他社区最 新版本技术进展。 openEuler 社区主线 20.03 首个创新版 内核创新版 SP3 03 openEuler 22.03 LTS SP2 技术白皮书 概述 openEuler 作为一个操作系统发行版平台,每两年推出一个 LTS 版本。该版本为企业级用户提供一个安全稳定可靠的 操作系统。 openEuler 也是一个技术孵化器。通过每半年发布一个创新版,快速集成 openEuler 以及其他社区的最新技术成果, 将社区验证成熟的特性逐步回合到发行版中。这些新特性 新、社区共建,不断增强场景化能力,最终实现统 一操作系统支持多设备,应用一次开发覆盖全场景。 openEuler 覆盖全场景的创新平台 开源操作系统的构建过程,也是供应链聚合优化的过程。拥有可靠开源软件供应链,是大规模商用操作系统的基础。 openEuler 从用户场景出发,回溯梳理相应的软件依赖关系,理清所有软件包的上游社区地址、源码和上游对应验证。完 成构建验证、分发、实现生命周0 码力 | 48 页 | 5.62 MB | 1 年前3
共 590 条
- 1
- 2
- 3
- 4
- 5
- 6
- 59