论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
读Java性能权威指南(第2版)笔记26_性能测试方法下 ...
读Java性能权威指南(第2版)笔记26_性能测试方法下
小小小幸运
金牌会员
|
2023-4-4 14:09:17
|
显示全部楼层
|
阅读模式
楼主
主题
943
|
帖子
943
|
积分
2829
1. 理解可变性
1.1. 理解测试结果如何随时间变化
1.2. 可以通过多次运行测试后取平均值来解决
1.3. 因代码改进而进行的测试叫作回归测试(regression testing)
1.3.1. 原本的代码叫作基线(baseline)
1.3.2. 新的代码叫作样本(specimen)
1.4. 结果的变化越大,越难判断平均值的差异是由于真正的性能问题还是随机变化
1.5. 正确判断两个测试的结果是否有差异需要进行一定程度的统计分析,以确保感知到的差异不是随机波动造成的
1.5.1. 要进行严谨的统计分析,可以使用T检验比较测试结果
1.5.2. 检验的结果表示出现性能倒退的概率,但是它并不能显示出哪些倒退应该忽略,哪些应该追踪。在这两者间找到平衡是一种性能工程艺术
2. 早测试、常测试
2.1. 性能测试作为开发周期中的必要部分
2.2. 早期测试带来的问题
2.2.1. 受发布时间的限制,开发人员需要尽快检入代码
2.2.2. 代码的性能特征会随着代码的变化而变化
2.3. 自动化一切
2.3.1. 所有的性能测试都应该脚本化(或者程序化,不过脚本化通常更容易)
2.4. 测量一切
2.4.1. 自动化必须收集可以想到的每一份数据,以便用于以后的分析
2.5. 在目标系统上运行
2.5.1. 很多重要的调优标志会基于JVM运行的底层硬件系统,计算出它们的默认值
2.5.2. 不同平台的代码编译方式不同
2.5.3. 软件缓存和更重要的硬件缓存,在不同的系统和不同的负载下的表现也不同
3. jmh提供微基准测试
3.1. 适用于纳(nano)/微(micro)/毫(milli)/宏(macro)等规模的基准测试
3.2. 随着Java 9一起发布的
3.2.1. 组成jmh的类库兼容JDK 8及之后的版本
3.2.2. 并没有与任何具体的Java版本绑定
3.2.3. JDK中没有支持jmh的工具
3.3. Blackhole类是jmh的特性
3.3.1. 解决了微基准测试的一个重要问题:如果一个操作的值没有用到,那么编译器会直接优化这个操作
3.3.2. 所以把值传递给Blackhole的consume()方法可以确保值被使用
3.4. Setup注解的Level值
3.4.1. Level.Trial
3.4.1.1. 在基准测试代码初始化时执行一次
3.4.2. Level.Iteration
3.4.2.1. 在基准测试每次迭代前完成(每个测量期)
3.4.3. Level.Invocation
3.4.3.1. 在每次测试方法执行之前完成
3.5. -f 5
3.5.1. 派生试验的运行次数(默认为5)
3.6. -wi 5
3.6.1. 每次试验的预热迭代次数(默认为5)
3.7. -i 5
3.7.1. 每次试验的测量迭代次数(默认为5)
3.8. -r 10
3.8.1. 每次迭代的最少时间(以秒为单位)
3.8.2. 迭代的时间可能比这个时间长,具体取决于目标方法的实际执行时间
3.9. 对于更稳定的测试,降低这些参数的值一般可以缩短运行测试所需的时间
3.10. 通常让Java代码变得更好、更快的方法是写出更好的算法,但这个实现与任何Java调优实践或者Java编码实践无关
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
小小小幸运
金牌会员
这个人很懒什么都没写!
楼主热帖
青龙2.10.13 稳定版+xdd-plus+阿东教程 ...
收藏:再谈软件定义存储发展及现状 ...
Ubuntu如何安装Mysql+启用远程连接[完 ...
软件项目管理 7.4.5.进度计划编排-敏捷 ...
【学习笔记】WPF-01:前言
5.2 基于ROP漏洞挖掘与利用
权限提升(1)
京准电钟北斗时钟服务器,GPS网络时间服 ...
京东张政:内容理解在广告场景下的实践 ...
驱动开发:内核字符串转换方法 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
物联网
快速回复
返回顶部
返回列表