FACTOID # 35: People might eat oats when they're hungry, but people from Hungary don't eat oats.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

Encyclopedia > Performance tuning

Performance tuning is the improvement of system performance. This is typically a computer application, but the same methods can be applied to economic markets, bureaucracies or other complex systems. The motivation for such activity is called a performance problem, which can be real or anticipated. Most systems will respond to increased load with some degree of decreasing performance. A system's ability to accept higher load is called scalability, and modifying a system to handle a higher load is synonymous to performance tuning. System (from the Latin (systēma), and this from the Greek (sustēma)) is an assemblage of entity/objects, real or abstract, comprising a whole with each and every component/element interacting or related to another one. ... This article needs to be cleaned up to conform to a higher standard of quality. ... Load is what is carried, or a force. ... In telecommunications and software engineering, scalability is a desirable property of a system, a network or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged. ...


Systematic tuning follows these steps:

  1. Assess the problem and establish numeric values that categorize acceptable behaviour.
  2. Measure the performance of the system before modification.
  3. Identify the part of the system that is critical for improving the performance. This is called the bottleneck.
  4. Modify that part of the system to remove the bottleneck.
  5. Measure the performance of the system after modification.

This is an instance of the measure-evaluate-improve-learn cycle from quality assurance. A bottleneck is literally the neck of a glass or pottery bottle. ... Quality Assurance (or QA) covers all activities from design, development, production, installation, servicing and documentation. ...


A performance problem may be identified by slow or unresponsive systems. This usually occurs because high system loading, 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. Load is what is carried, or a force. ... A bottleneck is literally the neck of a glass or pottery bottle. ...


A handful of techniques are used to improve performance. Among them are code optimization, load balancing, caching strategy, and distributed computing.

Contents

Performance analysis

See the main article at Performance analysis

In software engineering, performance analysis (also known as dynamic program analysis) is the investigation of a programs behavior using information gathered as the program runs, as opposed to static code analysis. ...

Code optimization

See the main article at Optimization (computer science).

Enhancing performance by rewriting specific portions of a program to run faster is one form of code optimization. The term code optimization can refer to improving the implementation of a particular algorithm for performing a task (code tuning). It can also refer to utilizing a better algorithm. Examples of code optimization 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 selection sort with a call to the more complicated algorithm for a quicksort. It has been suggested that Loop optimization be merged into this article or section. ... Flowcharts are often used to graphically represent algorithms. ... Selection sort is a sorting algorithm, a comparison sort that works as follows: find the minimum value in the list swap it with the value in the first position sort the remainder of the list (excluding the first value) It is probably the most intuitive sort algorithm to invent. ... Quicksort in action on a list of random numbers. ...


Caching strategy

See the main article at Cache.

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, which reduces access time and thus improves performance. Caching is an effective manner of improving performance in situations where the principle of locality of reference applies. Look up cache in Wiktionary, the free dictionary. ... It has been suggested that Memory locality be merged into this article or section. ...


The methods used to determine which data is stored in progressively faster storage are collectively called caching strategies.


Load balancing

See the main article at Load balancing (computing).

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 as load balancing and can improve over-all performance. In computing, load balancing is a technique (usually performanced by load balancers) to spread work between many computers, processes, computers, disks or other resources in order to get optimal resource utilization and decrease computing time. ... In computing, load balancing is a technique (usually performanced by load balancers) to spread work between many computers, processes, computers, disks or other resources in order to get optimal resource utilization and decrease computing time. ...


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.


Distributed computing

See the main article at Distributed computing.

Distributed computing is used to increase the performance of operations that can be performed in parallel, by concurrently executing multiple operations. Operations may be distributed across multiple processes on a single CPU, taking advantage of multitasking, multiple processes across multiple CPUs, or across multiple machines. As operations are executed concurrently, ensuring synchronization between processes is essential to ensure correct results. Distributed computing is decentralised and parallel computing, using two or more computers communicating over a network to accomplish a common objective or task. ... Distributed computing is decentralised and parallel computing, using two or more computers communicating over a network to accomplish a common objective or task. ... CPU redirects here. ... In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is...


As the trend of 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 parallelism. High performance cluster computing is a well known use of distributed systems for performance improvements. Parallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors in order to obtain results faster. ... Linux Cluster at Purdue University. ...


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 caches. Distributed hash tables (DHTs) are a class of decentralized distributed systems that partition ownership of a set of keys among participating nodes, and can efficiently route messages to the unique owner of any given key. ...


Performance tools


  Results from FactBites:
 
Oracle Performance Tuning (102 words)
BC consultants are masters of Oracle performance tuning and we offer Oracle performance tuning support.
We are the leader in Oracle performance tuning.
If you need expert Oracle performance tuning, just call now for BC Oracle performance tuning support.
Performance tuning - Wikipedia, the free encyclopedia (665 words)
Performance tuning is the improvement of system performance.
Caching is an effective manner of improving performance in situations where the principle of locality of reference applies.
High performance cluster computing is a well known use of distributed systems for performance improvements.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.