对 Go 程序进行可靠的性能测试## 对 Go 程序进行可靠的性能测试 Changkun Ou https://changkun.de/s/gobench/ Go 夜读系列 | talkgo.org | Talk Go | 第 83 期 March 26, 2020  主要内容 • 可靠的测试环境 • benchstat • 例子与实践 ☐ 例1: 对代码块进行性能调优 ☐ 例2: Benchmark 的正确性分析 ☐ 例3: 其他的影响因素 • 假设检验的原理 • 局限与应对措施 • 总结 ## 教科书式的性能测试方法论 在《Software Testing: Principles and Practices》一书中归纳的性能测试方法论: 1. 搜集需求 2. 编写测试用例 3. 自动化性能测试用例 4. 执行性能测试用例 5. 分析性能测试结果 6. 性能调优 7. 性能基准测试(Performance Benchmarking) 8. 向客户推荐合适的配置 ## 可靠的测试环境 ## 什么是可靠的性能基准测试环境 ## 影响测试环境的软硬件因素 • 硬件: CPU 型号、温度、IO 等 软件:操作系统版本、当前系统调度的负载等0 码力 | 37 页 | 1.23 MB | 2 年前3
添加测试服务0 码力 | 1 页 | 128.00 B | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬## 大规模高性能区块链架构 设计模式与测试框架 Gopher Meetup 深圳站 2021年8月21号 趣科技 李世敬 ## 目录 01 区块链概述 02 大规模高性能区块链架构设计介绍 03 基于Go插件的区块链性能测试工具 04 写在最后 ## 01 区块链概述 ## 区块链诞生 区块链是互联网发展到一定阶段的必然产物,是在低成本、高效、快捷的基础上 链架构与其差异性在于节点和用户在区块链网络中的准入要求。且非许可链网络节点大都由业务相关的机构组成,造成架构上共识、合约、安全、权限等方面的不同 扩展层 扩展组件 消息队列MQ 证书管理 测试框架 应用层 扩展操作 跨链协议 链上链下计算 预言机 供应链金融 司法存证 治理层 权限体系 治理模型 区块链审计 BaaS运维治理 智慧政务 合约层 智能合约脚本 账户体系 测试框架 智慧政务、数字身份、电子证照、公积金互联、税务、医疗互联、精准扶贫等 信息传输与共享、军事装备等 分布式电力交易、新能源充电桩、绿色能源、电力施工管控等 审计、设备巡检、制造、物流、文旅、医疗等 账本数据结构 应用层 供应链金融 司法存证 智慧政务 物联网 能源电力 跨境贸易 工业物联网 智慧城市 ## 02 ## 大规模高性能区块链架构设计介绍0 码力 | 39 页 | 56.58 MB | 2 年前3
TGT服务器的优化DPO是disable page out的缩写, FUA是force unit access的缩写 - FUA可以让某些文件系统在做写操作时,不需要提交一个SCSI FLUSH COMMAND,提高性能 • 已经修改TGT,让驱动可以声明自己是否支持DPO & FUA - 由于增加的Curve 驱动没有本地cache,所以DPO & FUA可以turn on. • sd 0:0:0:0: TGT的性能问题 • 性能问题主要体现在不能有效使用多CPU • 对多个socket connection,在单线程里做event loop多路复用。 • 多个target时,如果挂的设备多,一旦客户端请求量大,就会忙不过来。 • 开源界有尝试修改 - 例如sheepdog的开发者提交过一个patch,但是测试效果不理想,分析原因,event loop依然是瓶颈 ## 对TGT的性能优化 管理面是主线程,登录,增、删、改target, lun, session, connection, params都在主线程,而target epoll线程也要使用这些数据,多线程冲突,数据一致性问题就来了 ## 对TGT的性能优化(续) ## • 为每一个target增加一把锁 • Target event loop (TEL) 线程和管理面线程使用这把锁互斥 • TEL在运行时锁住这把锁,管理面只能等待,等TEL线程进入epoll0 码力 | 15 页 | 637.11 KB | 1 年前3
202309 MeterSphere ⼀站式开源持续测试平台## MeterSphere 一站式开源持续测试平台 2023 年 9 月 持续测试的兴起与现状 MeterSphere 加速企业持续测试落地 MeterSphere 企业版及专业服务 ## 持续测试是持续交付发展的必然需求 ## 持续交付能力是企业核心竞争力 保证业务足够稳 ## 持续测试能力保障业务足够可靠 ## 催生 保证交付足够快  ## 为什么测试环节会成为持续交付中的瓶颈?  做软件测试工具## RUST CHINA CONF 2023 第三届中国 Rust 开发者大会 6.17-6.18 @Shanghai ## 大家好! ## 应用 waPC (rust) 做软件测试工具 Alan poon 潘泳权  0 码力 | 19 页 | 3.82 MB | 2 年前3
Go性能优化概览-曹春晖## GCN ## 业务性能优化概览  By Xargin 《Go 语言高级编程》合著者 Go contributor ; m > maxPayload { _, c.outBuf = sliceForAppend(c.outBuf[:0], recordHeaderLen) 怎么样说服官方接受性能优化的 PR ## 内存占用过高-goroutine 数量太多导致内存占用高 这些内存的构成部分: 1. Goroutine 栈占用的内存(难优化,一条 tcp 连接至少对应一个 goroutine)0 码力 | 40 页 | 8.69 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
性能测试基准测试benchstat假设检验perflockcppcon_add_testserviceCMakeSOURCESLIBRARIES区块链架构大规模高性能测试框架许可链异构部署TGT服务器块设备协议Curve云原生存储性能优化FIO性能测试持续测试测试管理接口测试DevOpsRustWasmwaPC正则表达式API测试HTTP服务测试单元测试集成测试Stage环境Product环境PyTorch张量动态图神经网络深度学习移动APP性能监测NSURLProtocolMethod swizzlingIsa swizzlingiOSCPU占用内存占用GoroutineGC优化性能调优内存分配序列化调用栈压测指标













