Glossary

   

Amdahl's law

A vital insight recognized by Gene Amdahl [Amdahl (1967)], which allows a performance analyst to compute the relevance of various proposed performance improvements:

The performance enhancement possible with a given improvement is limited by the fraction of the execution time that the improved feature is used.



Arrival rate ( l )

The rate of arrivals into a queueing system per unit of time during a specified time interval.



Chi-square goodness-of-fit test

A statistical test that is useful in determining whether a data sample is sufficiently likely to belong to a specified distribution.



Clock interrupt

An interrupt that notifies the operating system kernel that one more time interval has elapsed [Bovet and Cesati (2001) 140].



Closed form solution

A mathematical result that can be expressed exactly in symbolic form. Contrast a mathematical result that can be expressed only approximately in numeric form.



Code path

The computer instructions that are executed to produce a given result. Code path reduction is the process of improving performance by eliminating code path without diminishing the functional result.



Collateral benefit

An unintended positive side effect of an action. A benefit yielded serendipitously by attending to something else.



Collateral damage

An unintended negative side effect of an action.



Completion rate ( X )

The throughput of a queueing system.



Compulsive tuning disorder (CTD)

A term created by Gaja Vaidyanatha and Kirti Deshpande to describe an effect of using a performance improvement method that has no terminating condition:

Many DBAs have gotten into the habit of tuning until they can't tune anymore. This not only drives them (and their customers) crazy with late hours and system downtime, but also it doesn't tend to result in much improvement in performance. We are absolutely convinced that there is a growing number of DBAs out there who suffer from the malady of Compulsive Tuning Disorder (CTD). [Vaidyanatha and Deshpande (2001) 8]



Concurrency

A measure of parallelism, usually used when describing the number of users and batch jobs that demand services simultaneously .



Connection

See Oracle connection .



Connection pooling

A technique whereby a large number of user sessions share a smaller number of Oracle sessions. The technique is designed to reduce the number of connect and disconnect database operations, resulting in better performance for systems with very large user counts.



Coordinated Universal Time (UTC)

The international time standard. UTC is the current term for what was commonly referred to as Greenwich Meridian Time (GMT). Zero hours UTC is midnight in Greenwich, England, which lies on the zero longitudinal meridian . Universal time is based on a 24- hour clock, therefore, afternoon hours such as 4:00 p.m. UTC are expressed as 16:00 UTC ("sixteen hours, zero minutes"). (Source: http://www.ghcc.msfc.nasa.gov/utc.html.)



Cost-based optimizer (CBO), Oracle cost-based queryoptimizer

A component of the Oracle kernel that computes the execution plan for a query by selecting the candidate execution plan with the smallest expected cost. Input factors that influence the CBO include session- and instance-level Oracle parameters, database table and index statistics, Oracle instance CPU and I/O statistics, database schema definitions, stored outlines, SQL text, and the Oracle query cost model embedded within the Oracle kernel code.



Cumulative distribution function (CDF)

The probability that a random variable X takes on a value that is less than or equal to a specified value x , denoted P ( X x ). The CDF of response time is especially valuable in service level agreement construction because it permits the formulation of p and r in statements of the form, "Response time of user action f will equal r seconds or less in at least p percent of executions of f ."



Database buffer cache hit ratio

The ratio ( L - P )/ L , where L is a count of Oracle logical I/O calls (LIO), and P is a count of Oracle physical I/O calls (PIO). See ratio fallacy .



Database call

A subroutine in the Oracle kernel.



Data definition language (DDL) statement

A SQL statement that creates, alters, maintains, or drops a schema object, or that manipulates user privileges.



Data manipulation language (DML) statement

A SQL statement that queries, inserts , updates, deletes, or locks data.



Dynamic performance view

See fixed view .



Erlang, Agner Krarup (1878-1929)

A Danish mathematician who was the first person to study the problem of telephone networks. Erlang is known as the father of queueing theory.



Event-based measurement

A measurement technique by which a process measures a phenomenon by recording a timestamp each time a system's state changes. Contrast polling .



Expected value ( E [ X ])

The mean (i.e., average) of a random variable.



Exponential distribution

A distribution with a probability density function of the form:

figs/eq_aa01.gif

where q is the mean of the distribution. The exponential distribution is important to queueing theorists because interarrival times and service times in nature are often exponentially distributed. (It is equivalent to say that arrival processes and service processes are often Poisson distributed.)



First-come, first- served (FCFS)

A queue discipline that provides the next unit of service to the earliest request in the queue, regardless of its class of service. Also called first-in, first-out (FIFO).



Fixed view

An Oracle pseudo-table whose name begins with a prefix like V$ or GV$ , which provides SQL access to instance information stored in shared memory. Also called dynamic performance view .



Forward attribution

The method by which the duration of a WAIT # n trace file line is attributed to the first database call for cursor # n that follows the WAIT line in the trace file. Attributing Oracle wait event durations this way helps you accurately identify which application source code is responsible for motivating the "wait" time.



Frequency (clock frequency)

The number of ticks generated by a discrete clock in a given unit of time. Clock frequency is the reciprocal of clock resolution.



Glossary

A textbook appendix in which an author works largely beyond the scrutiny of his editor to define terms in whatever manner he believes might marginally improve reader satisfaction.



Idle event

An Oracle wait event that occurs between database calls. The word "idle" denotes that during the execution of such an event, the Oracle kernel has completed a database call and is awaiting the next database call request. Many analysts teach that you should ignore the appearance of idle events in your diagnostic data. However, in properly time-scoped and action-scoped diagnostic data, idle events have as much diagnostic value as any other event.



Instrumentation

Lines of code that are inserted into a program's source code in order to measure that program's performance.



Interarrival time ( t )

The duration between adjacent arrivals into a queueing system. Interarrival time is the reciprocal of arrival rate.



Interrupt

A signal transmitted from hardware to the operating system kernel. From [Bach (1986) 16, 22]:

The Unix system allows devices such as I/O peripherals or the system clock to interrupt the CPU asynchronously. On receipt of the interrupt, the [OS] kernel saves its current context (a frozen image of what the process was doing), determines the cause of the interrupt, and services the interrupt. After the kernel services the interrupt, it restores its interrupted context and proceeds as if nothing had happened .... On Unix systems, interrupts are serviced by special functions in the operating system kernel, which are called in the context of the currently running process.



Interval bisection

A numerical method for approximating the solution to a mathematical equation. When it is not possible to compute a symbolic result, you must resort to numerical methods of solution, of which interval bisection is one. The method is demonstrated in the following pseudocode:

 function solve(function f, real s, real delta, real a, real b) {   # We wish to find the value of x where f(x) = =s.   # Return value is an interval containing x, with interval size < delta.   # Solution is known to exist in interval [a,b] (i.e., a  x  b).   # Function f must be continuous and monotonic for all x in [a,b].   # Method terminates when x is within delta of true solution.   f = f - s;                           # f = =s when f - s = =0   if (not (f(a) < f(b))) f = -f;       # ensure that f is ascending   while (not (b - a < delta))     if (f((a+b)/2) < 0)  a = (a+b)/2;  # solution is right of (a+b)/2     else                 b = (a+b)/2;  # solution is at or left of (a+b)/2   return [a,b]; } 


Interval timer

A digital time-keeping device that ticks in regular intervals.



Knee ( r * )

The utilization value at which the response time divided by utilization ( R / r ) achieves its minimum value. The knee is often considered the optimal utilization for a queueing system because it simultaneously minimizes user response time while maximizing the amount of system capacity being consumed.



Latch

A data structure used to ensure that two processes cannot execute a specified segment of Oracle kernel code at the same time. Oracle kernel developers adhere to a simple latch acquisition protocol that prevents the code they write from corrupting objects stored in shared memory. Oracle's latching protocol looks roughly like this [Millsap (2001c)]:

 while the latch for a desired operation is unavailable {   wait } obtain the latch perform the required operation release the latch 


Latency

A synonym for response time .



Logical I/O (LIO), Oracle logical I/O, Oracle logical read

An operation in which the Oracle kernel obtains and processes the content of an Oracle block from the Oracle database buffer cache. The code path for an Oracle LIO includes instructions to determine whether the desired block exists in the buffer cache, to update internal data structures such as a buffer cache hash chain and an LRU chain, to pin the block, and to decompose and filter the content of the retrieved block. Oracle LIO operations occur in two modes: consistent and current . In consistent mode, a block may be copied (or cloned ) and the clone modified to represent the block at a given point in history. In current mode, a block is simply obtained from the cache "as-is."



M/M/ m (or M/M/ c ) queueing model

A set of mathematical formulas that can predict the performance of queueing systems that meet five very specific criteria:

  • The request interarrival time is an exponentially distributed random variable.

  • The service time is an exponentially distributed random variable.

  • There are m parallel service channels, all of which have identical functional and performance characteristics, and all of which are identically capable of providing service to any arriving service request.

  • There is no restriction on queue length. No request that enters the queue exits the queue until that request receives service.

  • The queue discipline is first come, first served (FCFS). The system honors requests for service in the order in which they are received.



Mathematica

An application software package that performs fast and accurate symbolic, numerical, and graphical mathematical computations .



Maximum effective throughput ( l max )

The maximum throughput that can be attained in a queueing system without causing the average response time to exceed a specified user tolerance.



Measurement intrusion effect

A type of systematic error that occurs because the execution duration of a measured subroutine is different from the execution duration of the subroutine when it is not being measured.



Method

A deterministic sequence of steps. The quality of a method can be judged by its impact, efficiency, measurability, predictive capacity, reliability, determinism, finiteness, and practicality.



Methodology

The theoretical analysis of methods. "In recent years , however, the word "methodology" has used as a pretentious substitute for "method" in scientific and technical contexts.... The misuse of "methodology" obscures an important conceptual distinction between the tools of scientific investigation (properly "methods") and the principles that determine how such tools are deployed and interpreted ”a distinction that the scientific and scholarly communities, if not the wider public, should be expected to maintain." (Source: American Heritage Dictionary of the English Language )



Microstate accounting

A name used by Sun Microsystems to describe the feature through which an operating system measures CPU capacity consumption with event-based instrumentation instead of polling. The result is much reduced quantization error .



Net payoff

The present value (PV) of a project's benefits minus the present value of the project's costs.



Optimize

To maximize the economic value of some target. Compare tune .



Oracle connection

From the Oracle Database Concepts Guide :

A connection is a communication pathway between a user process and an Oracle instance. A communication pathway is established using available interprocess communication mechanisms (on a computer that runs both the user process and Oracle) or network software (when different computers run the database application and Oracle, and communicate through a network).



Oracle session

From the Oracle Database Concepts Guide :

A session is a specific connection of a user to an Oracle instance through a user process.

Oracle does make a distinction between a connection (a communication pathway) and a session. You can be connected to Oracle and not have any sessions. On the other hand, you can be connected and have many simultaneous sessions on that single connection.



Over-constrained

An attribute of a requirement that specifies conflicting constraints. For example, the following requirement is over-constrained: "The value of x must be smaller than 0.001.... The value of x must be greater than 0.009." More commonly, such conflicting constraints are concealed within more complicated requirements, where the conflicts cannot be observed without significantly more analysis and, usually, expense.



Overflow error

An error that occurs when the result of an addition or multiplication operation exceeds the capacity of the result's storage mechanism. For example, an n -bit unsigned integer variable j can represent values between 0 and 2 n -1 . Incrementing j when j = 2 n -1 would result in assignment of j = 0.



Paging

The process of writing pages from memory to disk in response to memory demands that exceed memory supply.



Parallel service channel

See service channel .



Physical I/O (PIO), Oracle physical I/O, Oracle physical write

An operation in which the Oracle kernel obtains one or more Oracle blocks via an operating system read call. In most cases, a PIO call is motivated by an LIO call, but not all PIO calls are managed in the Oracle buffer cache. Note that a PIO is not necessarily truly "physical" either, because PIO calls may be fulfilled from cache in the operating system, the disk array, or even the disk itself.



Poisson distribution

A distribution with a probability density function of the form:

figs/eq_aa02.gif

where l is the mean of the distribution. In 1909, Agner Erlang showed that the arrival rate of phone calls in a telephone system has a Poisson distribution. Many arrival processes and service processes in computer systems also obey the Poisson distribution.



Polling

A measurement technique by which a process measures a phenomenon by checking the state of a system at predefined, usually constant, time intervals. Also called sampling .



Present value (PV)

The present value (PV) of a cash flow is given by the following formula:

figs/eq_aa03.gif

where C 1 is the future cash flow, and r is the reward that investors demand for accepting delayed payment [Brealey and Myers (1988), 12-13]. The PV formula allows you to compare the values of cash flows that will take place at different times in the future. For example, if your expected annual rate of return is r = 0.07, then the PV of a $10,000 project payoff expected one year from now is only $9,345.79. If you could invest $9,345.79 today at 7% interest, then one year from now the investment would be worth $10,000.



Probability density function (pdf)

The probability that a random variable X will take on a specific value x , denoted f ( x ) = P ( X = x ). For example, the pdf of a random variable simulating the result of the toss of a fair coin is:

figs/eq_aa04.gif



Program

A sequence of computer instructions that carries out some business function.



Quantization error

The difference between an event's actual duration and the duration of that event as measured on a discrete clock.



Queue discipline

The rules that define how service will be allocated among competing demanders. Examples of queue disciplines are first-come, first served (FCFS); highest priority first; and sharpest elbows first.



Queueing delay ( W )

The time consumed in a queueing system by an arriving request that is waiting to receive service from a resource that is busy serving another request. Queueing delay is not the same thing as the ela figures that the Oracle kernel emits in its WAIT trace data lines.



Queueing theory

A branch of mathematics that allows for the prediction of various attributes of performance, such as response time and queueing delay.



Random variable

A function whose value is a random number. A random variable is characterized by its mean, its distribution, and possibly other parameters such as standard deviation.



Ratio fallacy, ratio games

A deficiency inherent in any ratio that permits the performance of a system being measured to become worse while the apparent goodness of the ratio value improves . Ratio fallacies exist because any ratio's value can be manipulated by modifying either its numerator or its denominator. Improving a ratio's value by degrading the value of the system being measured is called gaming the system.

For example, a consultant whose bonus is proportional to his billable utilization can game his compensation plan by negotiating a reduction in his billable capacity. A sales representative can game his sales win ratio by making fewer sales calls on prospects that are less likely to buy. A database administrator can game the database buffer cache hit ratio by increasing the number of LIO calls to memory-resident blocks. Any ratio can be gamed.



Recursive SQL

Any SQL statement that appears in Oracle SQL trace data as having a cursor with a dep value that is greater than zero.



Reliable

The capacity of a method to produce the same degree of correctness every time it is executed. For example, a method that produces an incorrect answer every time it is executed is reliable. A method that produces a correct answer every time it is executed is also reliable. A method is unreliable if it sometimes produces a correct answer and sometimes produces an incorrect answer.



Resolution (clock resolution)

The elapsed duration between adjacent ticks of a discrete clock. Clock resolution is the reciprocal of clock frequency.



Resource profile

A table revealing a useful decomposition of response time. Typically, a resource profile reveals at least the attributes of (1) response time component, (2) total duration consumed by actions in that category, and (3) the number of calls to actions in that category. A resource profile is often presented in descending order of elapsed time consumption.



Response time ( R ), latency

The time that a system or functional unit takes to react to a given input. In a queueing system, response time equals service time plus queueing delay.



Risk

Uncertainty about future benefits or costs. We quantify that uncertainty using probability distributions [Bodie, et al. (1989) 112].



Round robin (RR)

A queue discipline in which processes are selected one after another so that all members of the set have an opportunity to execute before any member has a second opportunity [Comer (1984) 56].



Rule-based optimizer (RBO), Oracle rule-based query optimizer

A component of the Oracle kernel that computes the execution plan for a query using a static precedence list of row source operations. Input factors that influence the RBO include only the database schema configuration, the SQL text, and the operator precedence list embedded within the Oracle kernel source code.



Sampling

See polling .



Scalability

The rate of change of response time with respect to some specified parameter. For example, one may speak of the scalability of a query with respect to the number of rows returned, the scalability of a system with respect to the number of CPUs installed, and so on.



Scheduler

An operating system subroutine that is responsible for allocating CPU cycles among competing operating system processes.



Sequence diagram

A graphical depiction of response time in which a sequence of parallel timelines represent the resources in the technology stack. Consumption of a given resource is represented as a region on that resource's timeline. Supply and demand relationships among resources are represented by directed lines connecting the timelines .



Service channel, parallel service channel ( m , c , or s )

A resource in a queueing system that provides service to requests arriving into the system. The number of parallel service channels in a queueing system is denoted with the variable m in this text (as in M/M/ m ). It is called c or s in some queueing theory texts (as in M/M/ c ).



Service level agreement (SLA)

An agreement between an information supplier and an information demander that defines expected application performance and availability levels.



Service rate ( m )

The number of arrivals that can be processed by a single channel in a queueing system within a specified unit of time. Service rate is the reciprocal of service time.



Service time ( S )

The amount of resource capacity consumed by an arriving request in a queueing system. Service time is the reciprocal of service rate.



Session

See Oracle session .



Specification

A formal written statement of a project's intended result.



SQL optimization

The process of eliminating code path in operations executed by the Oracle kernel in response to instructions written in SQL.



Stable queueing system

A queueing system whose per-server utilization is in the range 0



System call, sys call

A subroutine in the operating system kernel [Stevens (1992) 20].



Systematic error

The result of some experimental "mistake" that introduces a consistent bias into its measurements. Systematic errors tend to be constant across all measurements, or slowly varying with time [Lilja (2000)].



Technology stack

A model that considers system components such as the hardware, the operating system, the database kernel, the application software, the business rules, and the business users as layers in a stratified architecture.



Think time

Time consumed in an architectural tier that rests in a level higher in the technology stack than the one you're analyzing.



Thrashing

The act of consuming an excessive amount of capacity just to administer a system's own overhead. For example, an operating system's CPU scheduler typically consumes less than x % of a system's total CPU capacity (on many systems today, x = 10). When the system's workload is increased so much that the CPU scheduler consumes more than x % of capacity just to allocate CPU, the CPU scheduler is said to be thrashing.



Throughput ( X )

The rate of completions of a queueing system per unit of time during a specified time interval.



Traffic intensity ( r )

The mean utilization per parallel service channel in a queueing system.



Tune

To improve the performance of some target. Compare optimize .



User action

A unit of work whose output and performance have meaning to the business, such as the entry of a field or form, or the execution of one or more whole programs.



UTC

See Coordinated Universal Time .



Utilization

Resource usage divided by resource capacity for a specified time interval.



Waste

Anything that can be eliminated with no loss of anything useful. In the context of computer system workload, waste is any workload that can be eliminated with no loss of functional value to the business.




   
Top


Optimizing Oracle Performance
Optimizing Oracle Performance
ISBN: 059600527X
EAN: 2147483647
Year: 2002
Pages: 102

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net