2. What is optimal system
• Each system has it’s own performance crietaria
• Good performing system for one site may not be
optimal for other site
• It’s upon you to determine your performance
crietaria
• In some cases system is well tuned if it’s
throughput is optimized
• In other cases system may be optimally tuned for
back up and recovery
3. Tuning mehodolgy
• Analyze the system.Decide if there is a problem; if there is a
problem, what is it?
• 2. Determine the problem.What do you think is causing the
problem? Why?
• 3. Determine a solution and set goals.Decide what you want to try
and what you
• think will result from your changes. What is it you want to
accomplish? Do you want
• more throughput? faster response times? what?
• 4. Test the solution.Try it. See what happens.
• 5. Analyze the results.Did the solution meet the goals? If not, you
may have to go back
• to step 1, 2, or 3.
4. Steps of knowing that is sys well tuned
or not
• Here is a short checklist of items that may indicate whether you
have a well-tuned system:
• u Do you have good response times? If not, is the problem in the
client, the server, or
• the network?
• u Can the server effectively service the number of clients required?
• u Are the users satisfied with the performance of the system?
• u Are time-critical tasks such as backup and loading being
accomplished within the
• required time intervals?
• u Is the system disk bound?
• u Is the system network bound?
5. • Managing processor time
• System processing is managed by Windows, which can
allocate tasks between processors, as well as manage
multiple processes on a single processor. However,
you can set Windows to allocate more processor time
to the program you are currently running. This can
result in faster program response time. Or, if you have
background programs, such as printing or disk backup
that you want to run while you work, you can have
Windows share processor resources equally between
background and foreground programs
6. Managing computer memory
• When your computer is running low on RAM and more is needed immediately, Windows uses hard
drive space to simulate system RAM. This is known as virtual memory, and is often called the paging
file This is similar to the UNIX swapfile. The default size of the virtual memory pagefile
(named pagefile.sys) created during installation is 1.5 times the amount of RAM on your computer.
• You can optimize virtual memory use by dividing the space between multiple drives and removing it
from slower or heavily accessed drives. To best optimize your virtual memory space, divide it
among as many physical hard drives as possible. When selecting drives, keep the following
guidelines in mind:
• Try to avoid having a pagefile on the same drive as the system files.
• •Avoid putting a pagefile on a fault-tolerant drive, such as a mirrored volume or a RAID-5 volume
Pagefiles don't need fault-tolerance, and some fault-tolerant systems suffer from slow data writes
because they write data to multiple locations.
• •Don't place multiple pagefiles on different partitions on the same physical disk drive.
• You can choose to optimize your computer's memory usage. If you use your computer primarily as a
workstation, rather than as a server, you can have more memory devoted to your programs. Your
programs will work faster and your system cache size will be the default size that came with
Windows XP. You can also specify to set aside more computer memory for a larger system cache, If
your computer is used primarily as a server, or if you use programs that require a larger cache.
7. Client/server app performing
transaction
• intialize app+loading in memory+conect to
server+accept data from user+process date to
transmit to server+transmit data to
server+wait for server’s response+recive data
from server+format data back in app code
format for processing+present data to user
8. Performance time in client servers
systems
• Client must have sufficent resources to perform it’s
function
• There should be no significant delays caused by
presenting and manuplating data
• Performance that user sees is end to end performance,
The time between when the last character is typed by
the user and when the last bit of data is displayed is
considered the response time
• The response time is the meter by which the user
judges the
• performance of the system. In most cases, systems are
tuned for this response time.
9. • if the goal is optimizing response time, the
criteria for a good-performing client is to add
mini-mal delays to response time. It doesn’t
benefit you to have the fastest server available
if a 10-second response time is caused by a 1-
second turnaround at the server and 9
seconds dis-playing the data. The user
experiences long response times and is not
satisfied.
10. Wt to See in goal setting
• Increase the cache-hit ratio in the buffer
cache.
• u Reduce the number of I/Os.
• u Increase the number of connections
supported.?????
11. Determine the prob
• Here are some questions to ask yourself when trying to determine the
cause of the
• performance problem:
• u What are the effects of the problem: response times? throughput?
what?
• u Does every user see the same problem or does the problem affect just a
few
• users? If so, what are those few users doing differently?
• u What does the system monitor tell you? Are you 100-percent CPU
bound?
• What about I/Os: are you exceeding I/O limits?
• u Is only a certain type of transaction a problem? What about other
transaction
• types? Are they okay?
• u Is it a client problem or a server problem?
13. During designing
• Database Layout
• You can divide the database layout into two sections. The first issue to
consider in laying out
• the tables is the relationship between the data on the system. This
relationship determines how
• the tables are created and which tablespaces they are part of. The second
issue to consider in
• laying out the tables involves their proper placement on the physical disks.
The placement of
• data files on the disks is critical in properly balancing I/Os to avoid a disk
bottleneck.
• Many tools are available to help you in the design stage. Oracle offers the
Designer/2000 (there
• are many competing tools on the market today) that can help you define
the relationships
• between tables very effectively.
14. Indexes and Clusters
• The design phase is the time to decide how to make the most effective use of indexes and clus-ters.
Because the effectiveness of indexes and clusters is related to both the physical design of
• the database and the application, the design stage is when you can affect both of these elements.
• Sometimes, it is necessary to re-analyze the database and application to determine whether
• indexes and clusters are being used correctly; this is not necessary if they are properly designed.
• Indexes and clusters are effective only when the application accesses the database in a manner
• that allows for the use of these features. By properly designing indexes and clusters based on
• the data access that is required, you can optimize the use of indexes and clusters. To properly
• optimize your system, design both the application and database based on your knowledge of
• how this data is to be accessed.
15. D:Hard ware sizing
• When you decide what hardware to use for your application, make sure that there is sufficient
• power to handle the load. Often, the workload is underestimated or increases at an unexpected
• rate. Be sure that you have an upgrade path. Here are some factors to keep in mind when de-
termining the hardware you will use:
• u Can the CPUs be upgraded? Can you put in more or faster CPUs?
• u Can the I/O system be upgraded? How easy is it to expand? Can you add more disks
• and controllers easily?
• 84
• Part I u Introduction
• u How much memory does the system support? (If you are already at the limit at
• rollout, there is no room for expansion.)
• u Can you add more network controllers? (Often, you will want to add a second
• network for backups or to increase user bandwidth.)
• Don’t buy more hardware than you need, but if you need to upgrade, make sure that you will
• not have to start from scratch. Upgrading components is always much less expensive than in-
vesting in a new system.
16. • Many different situations can cause performance loss. Consider
these examples:
• u An overloaded I/O system.This can cause the entire system to
slow down while
• waiting for disk requests to return.
• u Not enough memory.This can cause additional I/O usage by
reducing the cache-hit
• rate and by causing the operating system to swap or page.
• u Lack of Oracle resources.A shared pool that is too small can cause
performance
• problems, as described in Chapter 9, “Oracle Instance Tuning.”
• u A slow network.Network performance problems can reduce
throughput and cause
• user response times to rise.
17. • The goal of tuning the operating system for Oracle is to provide enough resources so that Oracle
• can function. The operating system must provide for the following:
• u Enough memory for the SGA to fit into main memory.In most operating systems,
• this involves allocating a special type of memory structure called shared memory.
• Shared memory is provided by the operating system to allow multiple processes to
• access the same memory through special system calls. In many operating systems, the
• shared memory is locked into place and cannot be swapped or paged.
• u Enough memory for the user processes to fit into main memory.Remember that
• each shadow process, or dispatcher, also consumes memory. For user processes, the
• amount of memory consumed depends on the number of users connected.
• u Avoid paging and swapping.Although it is not uncommon for some paging or
• swapping to occur, if it occurs frequently, you should take steps to reduce it.
• u Enough memory for operating system activities.Remember that other OS activities
• may become active at various times and therefore allocate memory.
• u Enough memory to accommodate Oracle operations such as archiving, loading,
• online backup, and so on.
19. Cpu enhancements
• Enhancing the CPUs on your SMP or MPP system can
provide instantaneous performance
• improvements—assuming that your application is
causing the system to become CPU bound.
• For SMP or MPP machines, the process of enhancing
the CPU may be as simple as adding an
• additional CPU board. Before you purchase an
additional processor of the same type and speed,
• consider upgrading to a faster processor. In this type of
environment, both the addition of faster
• processors and more processors benefit the overall
performance of the system.
20. i/o enhancements
• enhance I/O by adding disk drives or purchasing a hardware disk
array.
• Systems that access BLOB data can benefit from the disk striping
available in both hardware and software disk arrays. Using Oracle
data file striping can also help the performance of this type of
system.
• Hardware and software disk arrays have the added benefit of
optional fault tolerance.
• “Disk Arrays,” each of the fault-tolerant RAID levels has its
advantages and disadvantages. You should first choose the correct
fault tolerance for your needs and then make sure that you have
sufficient I/O capabilities to achieve the required performance level.
• If you use fault tolerance, you will most likely have to increase the
number of disk drives in your system.
21. • Enhancements to the I/O subsystem make all
the difference in the world to a BLOB environ-
ment because large amounts of data are being
continually read. Be sure that you have a suffi-
client number of disk drives, properly
configured.