第1章 性能预测导论 1
1.1风险:一个四个字母的单词(RISK) 2
1.2服务水平管理 3
1.3建模:化繁为简 5
1.4模型类型 6
1.4.1数学模型 6
1.4.2基准模型 7
1.4.3模拟模型 7
1.4.4基准和模拟之间的差异 8
1.5 Oracle性能预测的挑战 9
第2章 基本性能预测 12
2.1计算系统是活的 12
2.2事务是工作的单元/计量单位 13
2.2.1到达率 14
2.2.2事务处理器 14
2.2.3队列 16
2.2.4事务流 16
2.3响应时间曲线 17
2.4 CPU和IO子系统建模 19
2.5方法是必须的 20
2.6数据采集 21
2.7基础数学 24
2.7.1公式 24
2.7.2应用程序 26
2.7.3管理层需要知道什么 28
2.8风险缓解策略 29
2.8.1优化应用程序和Oracle 30
2.8.2购买更多的CPU能力 31
2.8.3平衡现有的工作负载 33
2.9小结 36
第3章 提高预测精度 37
3.1预测陷阱 37
3.2模型选择 38
3.2.1要问的问题 38
3.2.2基本预测模型 40
3.3基线选择 43
3.4响应时间数学 45
3.4.1 Erlang C预测公式 45
3.4.2对比预测公式 54
3.5计算平均值 56
3.5.1正确的分布模式 57
3.5.2如何求多个值的平均值 58
3.6案例研究:高光公司 61
3.6.1确定研究课题 62
3.6.2收集和描述工作负载 62
3.6.3选择预测模型 62
3.6.4预测和验证 63
3.6.5我们告诉管理层什么 67
3.7小结 68
第4章 基础预测统计 69
4.1什么是统计 69
4.2样本与总体 71
4.3描述样本 71
4.3.1用数值描述样本 71
4.3.2可视化地描述数据样本 73
4.3.3完整地描述样本数据 76
4.4做出推断 81
4.4.1使用总体标准差 82
4.4.2使用标准误 82
4.5骗人的精度 83
4.6小结 86
第5章 实用排队论 87
5.1排队系统符号 87
5.2 Little法则 90
5.3 Kendall的符号 94
5.4排队论工作簿 96
5.5队列配置和响应时间曲线位移 103
5.5.1观察不同队列配置的影响 103
5.5.2响应时间曲线的上下左右移动 108
5.6应用排队论所面临的挑战 112
5.7小结 123
第6章 系统化地预测性能 124
6.1需要有一种方法 124
6.2 OraPub的预测方法 125
6.2.1确定研究课题 126
6.2.2收集工作负载数据 128
6.2.3描述工作负载 129
6.2.4开发和使用适当的模型 130
6.2.5验证预测 131
6.2.6预测 135
6.3小结 135
第7章 描述工作负载 136
7.1面临的挑战 136
7.2收集工作负载 137
7.2.1收集操作系统数据 138
7.2.2收集Oracle数据 141
7.3定义工作负载组成部分 143
7.4对工作负载建模 144
7.4.1简单工作负载模型 145
7.4.2单类工作负载模型 146
7.4.3多类工作负载模型 150
7.5选择峰值 161
7.5.1选择单一样本 163
7.5.2汇总多个工作负载样本 164
7.6小结 164
第8章 比例模型 166
8.1比例模型概念 166
8.2比例模型公式 167
8.3收集和描述工作负载 168
8.4推导比例 170
8.4.1推导出批处理对CPU的比例 170
8.4.2推导OLTP对CPU的比例 173
8.5比例模型预测 175
8.6小结 178
第9章 线性回归模型 179
9.1避免线性领域 179
9.2寻找关系 180
9.3确定线性关系 183
9.3.1查看原始数据 183
9.3.2查看原始数据曲线图 184
9.3.3查看残差数据 186
9.3.4查看残差数据曲线图 187
9.3.5查看回归公式 191
9.3.6查看相关性强度 192
9.3.7如果一切正常,执行预测 193
9.4处理离群值 193
9.4.1离群值的识别 195
9.4.2确定何时停止 198
9.5回归分析案例研究 199
9.6小结 206
第10章 可扩展性 207
10.1物理CPU和有效CPU之间的关系 207
10.2预测时如何使用可扩展性 208
10.3可扩展性涉及什么 210
10.4加速和扩展 212
10.5哪个预测模型受到可扩展性影响 213
10.6可扩展性模型 214
10.6.1阿姆达尔扩展 214
10.6.2几何级数扩展 216
10.6.3二次方扩展 217
10.6.4超级串行扩展 219
10.7确定可扩展性的方法 220
10.7.1从物理CPU数据到有效CPU数据 220
10.7.2基准:物理CPU数量对吞吐量的数据 224
10.7.3真实系统:系统负载和吞吐量数据 226
10.8小结 228