Knowledge

Performance tuning

Source 📝

22: 334:
A system can consist of independent components, each able to service requests. If all the requests are serviced by one of these systems (or a small number) while others remain idle then time is wasted waiting for used system to be available. Arranging so all systems are used equally is referred to
202:
A profiler is a performance analysis tool that measures the behavior of a program as it executes, particularly the frequency and duration of function calls. Performance analysis tools existed at least from the early 1970s. Profilers may be classified according to their output types, or their methods
288:
Modern software systems, e.g., Big data systems, comprises several frameworks (e.g., Apache Storm, Spark, Hadoop). Each of these frameworks exposes hundreds configuration parameters that considerably influence the performance of such applications. Some optimizations (tuning) include improving the
303:
Caching is a fundamental method of removing performance bottlenecks that are the result of slow access to data. Caching improves performance by retaining frequently used information in high speed memory, reducing access time and avoiding repeated computation. Caching is an effective manner of
342:
Load balancing is often used to achieve further gains from a distributed system by intelligently selecting which machine to run an operation on based on how busy all potential candidates are, and how well suited each machine is to the type of operation that needs to be performed.
371:
Distributed computing and clustering can negatively impact latency while simultaneously increasing load on shared resources, such as database systems. To minimize latency and avoid bottlenecks, distributed computing can benefit significantly from distributed
198:
Performance analysis, commonly known as profiling, is the investigation of a program's behavior using information gathered as the program executes. Its goal is to determine which sections of a program to optimize.
360:
is used for increasing the potential for parallel execution on modern CPU architectures continues, the use of distributed systems is essential to achieve performance benefits from the available
430:
In the process of finding and removing bottlenecks, it is important to prove their existence, typically by measurements, before acting to remove them. There is a strong temptation to
128:. Typically in computer systems, the motivation for such activity is called a performance problem, which can be either real or anticipated. Most systems will respond to increased 180:
A handful of techniques are used to improve performance. Among them are code optimization, load balancing, caching strategy, distributed computing and self-tuning.
225:
of a designed system, such as increase business revenue, reduction of system failure, delayed projects, and avoidance of unnecessary usage of resources or work.
272:
Some optimizations include improving the code so that work is done once before a loop rather than inside a loop or replacing a call to a simple
443: 177:, causing some part of the system to reach a limit in its ability to respond. This limit within the system is referred to as a bottleneck. 390:
A self-tuning system is capable of optimizing its own internal running parameters in order to maximize or minimize the fulfillment of an
427:
The bottleneck is the part of a system which is at capacity. Other parts of the system will be idle waiting for it to perform its task.
162:
If the modification makes the performance better, adopt it. If the modification makes the performance worse, put it back the way it was.
221:
Performance engineering is the discipline encompassing roles, skills, activities, practices, tools, and deliverables used to meet the
409:. Self-tuning systems have been a hallmark of the aerospace industry for decades, as this sort of feedback is necessary to generate 410: 86: 58: 65: 39: 490: 105: 308:
applies. The methods used to determine which data is stored in progressively faster storage are collectively called
72: 191: 264: 173:
A performance problem may be identified by slow or unresponsive systems. This usually occurs because high system
54: 43: 495: 222: 336: 329: 465: 475: 149:
Identify the part of the system that is critical for improving the performance. This is called the
214: 32: 79: 132:
with some degree of decreasing performance. A system's ability to accept higher load is called
470: 422: 357: 352: 305: 150: 125: 8: 460: 391: 361: 233: 289:
performance of the application finding the best configuration for such applications.
252:
Service management, including activities performed after the system has been deployed.
136:, and modifying a system to handle a higher load is synonymous to performance tuning. 399: 373: 298: 167: 143:
Assess the problem and establish numeric values that categorize acceptable behavior.
406: 365: 174: 129: 273: 484: 228:
Several common activities have been identified in different methodologies:
385: 368:
is a well-known use of distributed systems for performance improvements.
133: 403: 395: 317: 277: 240: 166:
This is an instance of the measure-evaluate-improve-learn cycle from
21: 313: 122: 476:
Clouds Done Right - Distributed Caching Removes Bottlenecks
304:
improving performance in situations where the principle of
146:
Measure the performance of the system before modification.
159:
Measure the performance of the system after modification.
461:
Address Scalability Bottlenecks with Distributed Caching
156:
Modify that part of the system to remove the bottleneck.
402:
minimization. Self-tuning systems typically exhibit
276:
with a call to the more complicated algorithm for a
466:
ASP.NET Web Cache Spurs Performance and Scalability
46:. Unsourced material may be challenged and removed. 246:System construction, including performance tuning. 482: 444:Performance Application Programming Interface 283: 471:Improve SharePoint 2010 Performance with RBS 206: 106:Learn how and when to remove this message 346: 183: 139:Systematic tuning follows these steps: 483: 339:and can improve overall performance. 249:Deployment of the constructed system. 256: 44:adding citations to reliable sources 15: 292: 13: 14: 507: 454: 323: 394:; typically the maximization of 239:Elaboration of the processes in 20: 265:Optimization (computer science) 31:needs additional citations for 416: 411:optimal multi-variable control 379: 1: 449: 7: 437: 434:. Guesses are often wrong. 232:Identification of critical 223:non-functional requirements 10: 512: 420: 383: 350: 330:Load balancing (computing) 327: 296: 284:Configuration optimization 413:for nonlinear processes. 491:Computer hardware tuning 263:See the main article at 213:See the main article at 190:See the main article at 243:and system volumetrics. 215:Performance engineering 207:Performance engineering 121:is the improvement of 423:Bottleneck (software) 358:Distributed computing 353:Distributed computing 347:Distributed computing 306:locality of reference 364:. High-performance 203:for data gathering. 192:Performance analysis 184:Performance analysis 55:"Performance tuning" 40:improve this article 496:Network performance 310:caching strategies. 392:objective function 234:business processes 119:Performance tuning 366:cluster computing 299:Cache (computing) 257:Code optimization 168:quality assurance 116: 115: 108: 90: 503: 407:adaptive control 293:Caching strategy 111: 104: 100: 97: 91: 89: 48: 24: 16: 511: 510: 506: 505: 504: 502: 501: 500: 481: 480: 457: 452: 440: 425: 419: 388: 382: 355: 349: 332: 326: 301: 295: 286: 259: 209: 186: 112: 101: 95: 92: 49: 47: 37: 25: 12: 11: 5: 509: 499: 498: 493: 479: 478: 473: 468: 463: 456: 455:External links 453: 451: 448: 447: 446: 439: 436: 421:Main article: 418: 415: 384:Main article: 381: 378: 351:Main article: 348: 345: 337:load balancing 328:Main article: 325: 324:Load balancing 322: 297:Main article: 294: 291: 285: 282: 274:selection sort 270: 269: 258: 255: 254: 253: 250: 247: 244: 237: 219: 218: 208: 205: 196: 195: 185: 182: 164: 163: 160: 157: 154: 147: 144: 114: 113: 28: 26: 19: 9: 6: 4: 3: 2: 508: 497: 494: 492: 489: 488: 486: 477: 474: 472: 469: 467: 464: 462: 459: 458: 445: 442: 441: 435: 433: 428: 424: 414: 412: 408: 405: 401: 397: 393: 387: 377: 375: 369: 367: 363: 359: 354: 344: 340: 338: 331: 321: 319: 315: 314:ASP.NET cache 312:Examples are 311: 307: 300: 290: 281: 279: 275: 267: 266: 261: 260: 251: 248: 245: 242: 238: 235: 231: 230: 229: 226: 224: 217: 216: 211: 210: 204: 200: 194: 193: 188: 187: 181: 178: 176: 171: 169: 161: 158: 155: 152: 148: 145: 142: 141: 140: 137: 135: 131: 127: 124: 120: 110: 107: 99: 88: 85: 81: 78: 74: 71: 67: 64: 60: 57: –  56: 52: 51:Find sources: 45: 41: 35: 34: 29:This article 27: 23: 18: 17: 431: 429: 426: 389: 370: 356: 341: 333: 309: 302: 287: 271: 262: 227: 220: 212: 201: 197: 189: 179: 172: 165: 138: 118: 117: 102: 93: 83: 76: 69: 62: 50: 38:Please help 33:verification 30: 417:Bottlenecks 386:Self-tuning 380:Self-tuning 362:parallelism 134:scalability 126:performance 485:Categories 450:References 404:non-linear 396:efficiency 151:bottleneck 66:newspapers 318:CPU cache 278:quicksort 241:use cases 96:July 2016 438:See also 320:, etc. 175:loading 80:scholar 374:caches 123:system 82:  75:  68:  61:  53:  432:guess 400:error 87:JSTOR 73:books 130:load 59:news 398:or 335:as 42:by 487:: 376:. 316:, 280:. 170:. 268:. 236:. 153:. 109:) 103:( 98:) 94:( 84:· 77:· 70:· 63:· 36:.

Index


verification
improve this article
adding citations to reliable sources
"Performance tuning"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
system
performance
load
scalability
bottleneck
quality assurance
loading
Performance analysis
Performance engineering
non-functional requirements
business processes
use cases
Optimization (computer science)
selection sort
quicksort
Cache (computing)
locality of reference
ASP.NET cache
CPU cache

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.