| Acknowledgments |
|
ix | |
| Preface |
|
xi | |
|
1 Queuing Networks as Applications Models |
|
|
1 | (24) |
|
1.1 Enterprise Applications---What Do They Have in Common? |
|
|
1 | (5) |
|
1.2 Key Performance Indicator---Transaction Time |
|
|
6 | (2) |
|
1.3 What Is Application Tuning and Sizing? |
|
|
8 | (1) |
|
1.4 Queuing Models of Enterprise Application |
|
|
9 | (10) |
|
1.5 Transaction Response Time and Transaction Profile |
|
|
19 | (3) |
|
1.6 Network of Highways as an Analogy of the Queuing Model |
|
|
22 | (3) |
|
Take Away from the Chapter |
|
|
24 | (1) |
|
2 Building and Solving Application Models |
|
|
25 | (32) |
|
|
|
25 | (9) |
|
|
|
26 | (2) |
|
|
|
28 | (1) |
|
|
|
29 | (2) |
|
|
|
31 | (3) |
|
2.2 Essentials of Queuing Networks Theory |
|
|
34 | (5) |
|
|
|
39 | (8) |
|
2.4 Interpretation of Modeling Results |
|
|
47 | (10) |
|
|
|
47 | (4) |
|
Server Queue Length, Transaction Time, System Throughput |
|
|
51 | (3) |
|
Take Away from the Chapter |
|
|
54 | (3) |
|
3 Workload Characterization and Transaction Profiling |
|
|
57 | (37) |
|
3.1 What Is Application Workload? |
|
|
57 | (3) |
|
3.2 Workload Characterization |
|
|
60 | (21) |
|
Transaction Rate and User Think Time |
|
|
61 | (4) |
|
|
|
65 | (3) |
|
Take Away from the Think Time Model |
|
|
68 | (1) |
|
|
|
68 | (1) |
|
"Garbage in, Garbage out" Models |
|
|
68 | (1) |
|
|
|
69 | (3) |
|
|
|
72 | (1) |
|
|
|
72 | (3) |
|
Transaction Rate Variation |
|
|
75 | (3) |
|
Take Away from "Garbage in, Garbage out" Models |
|
|
78 | (1) |
|
Number of Application Users |
|
|
78 | (2) |
|
|
|
80 | (1) |
|
Take Away from User Concurrency Model |
|
|
81 | (1) |
|
3.3 Business Process Analysis |
|
|
81 | (7) |
|
3.4 Mining Transactional Data from Production Applications |
|
|
88 | (6) |
|
Profiling Transactions Using Operating System Monitors and Utilities |
|
|
88 | (2) |
|
|
|
90 | (1) |
|
|
|
91 | (2) |
|
Take Away from the Chapter |
|
|
93 | (1) |
|
4 Servers, CPUs, and Other Building Blocks of Application Scalability |
|
|
94 | (20) |
|
4.1 Application Scalability |
|
|
94 | (1) |
|
4.2 Bottleneck Identification |
|
|
95 | (19) |
|
|
|
97 | (1) |
|
|
|
97 | (1) |
|
CPU Bottleneck Identification |
|
|
97 | (3) |
|
|
|
100 | (1) |
|
|
|
100 | (1) |
|
|
|
100 | (4) |
|
Take Away from the CPU Bottleneck Model |
|
|
104 | (1) |
|
|
|
105 | (1) |
|
|
|
106 | (1) |
|
I/O Bottleneck Identification |
|
|
106 | (1) |
|
|
|
107 | (1) |
|
|
|
108 | (3) |
|
Take Away from the I/O Bottleneck Model |
|
|
111 | (2) |
|
Take Away from the Chapter |
|
|
113 | (1) |
|
5 Operating System Overhead |
|
|
114 | (13) |
|
5.1 Components of an Operating System |
|
|
114 | (4) |
|
5.2 Operating System Overhead |
|
|
118 | (9) |
|
|
|
122 | (1) |
|
Impact of System Overhead on Transaction Time |
|
|
123 | (1) |
|
Impact of System Overhead on Hardware Utilization |
|
|
124 | (1) |
|
Take Away from the Chapter |
|
|
125 | (2) |
|
|
|
127 | (30) |
|
6.1 What Is a Software Bottleneck? |
|
|
127 | (4) |
|
|
|
131 | (13) |
|
|
|
133 | (1) |
|
Preset Upper Memory Limit |
|
|
133 | (5) |
|
|
|
138 | (5) |
|
Take Away from the Memory Bottleneck Model |
|
|
143 | (1) |
|
|
|
144 | (8) |
|
Thread Optimization Models |
|
|
145 | (1) |
|
Thread Bottleneck Identification |
|
|
145 | (3) |
|
Correlation Among Transaction Time, CPU Utilization, and the Number of Threads |
|
|
148 | (2) |
|
Optimal Number of Threads |
|
|
150 | (1) |
|
Take Away from Thread Optimization Model |
|
|
151 | (1) |
|
6.4 Other Causes of Software Bottlenecks |
|
|
152 | (5) |
|
|
|
152 | (1) |
|
Connections to Database; User Sessions |
|
|
152 | (2) |
|
Limited Wait Time and Limited Wait Space |
|
|
154 | (1) |
|
|
|
155 | (1) |
|
Take Away from the Chapter |
|
|
155 | (2) |
|
7 Performance and Capacity of Virtual Systems |
|
|
157 | (16) |
|
7.1 What Is Virtualization? |
|
|
157 | (3) |
|
7.2 Hardware Virtualization |
|
|
160 | (11) |
|
|
|
161 | (4) |
|
|
|
165 | (2) |
|
Queuing Theory Explains It All |
|
|
167 | (2) |
|
Virtualized Hosts Sizing After Lesson Learned |
|
|
169 | (2) |
|
7.3 Methodology of Virtual Machines Sizing |
|
|
171 | (2) |
|
Take Away from the Chapter |
|
|
172 | (1) |
|
8 Model-Based Application Sizing: Say Good-Bye to Guessing |
|
|
173 | (21) |
|
8.1 Why Model-Based Sizing? |
|
|
173 | (4) |
|
|
|
177 | (9) |
|
Workload and Expected Transaction Time |
|
|
177 | (2) |
|
How to Obtain a Transaction Profile |
|
|
179 | (3) |
|
|
|
182 | (4) |
|
8.3 Mapping a System into a Model |
|
|
186 | (2) |
|
8.4 Model Deliverables and What-If Scenarios |
|
|
188 | (6) |
|
Take Away from the Chapter |
|
|
193 | (1) |
|
9 Modeling Different Application Configurations |
|
|
194 | (21) |
|
9.1 Geographical Distribution of Users |
|
|
194 | (4) |
|
|
|
196 | (1) |
|
|
|
196 | (1) |
|
|
|
197 | (1) |
|
Take Away from Remote Office Models |
|
|
198 | (1) |
|
9.2 Accounting for the Time on End-User Computers |
|
|
198 | (2) |
|
9.3 Remote Terminal Services |
|
|
200 | (1) |
|
9.4 Cross-Platform Modeling |
|
|
201 | (2) |
|
9.5 Load Balancing and Server Farms |
|
|
203 | (2) |
|
9.6 Transaction Parallel Processing Models |
|
|
205 | (10) |
|
Concurrent Transaction Processing by a Few Servers |
|
|
205 | (4) |
|
Concurrent Transaction Processing by the Same Server |
|
|
209 | (4) |
|
Take Away from Transaction Parallel Processing Models |
|
|
213 | (1) |
|
Take Away from the Chapter |
|
|
214 | (1) |
| Glossary |
|
215 | (5) |
| References |
|
220 | (3) |
| Index |
|
223 | |