tuning database performance

33
CLIENT/SERVER COMPUTING 1

Upload: binaya-acharya

Post on 08-Jul-2015

92 views

Category:

Software


8 download

TRANSCRIPT

Page 1: Tuning database performance

CLIENT/SERVER

COMPUTING

1

Page 2: Tuning database performance

2

PRESENTATION ON

PERFORMANCE TUNING

AND PERFORMANCE

OPTIMIZATION

Presented by:

Sabina khadka

Ashok Adhikari

Binay Acharya

Rogan shrestha

Bhumi Raj

sharma

Page 3: Tuning database performance

AGENDA

Performance Tuning

Performance optimization

Client performance

Server performance

Database performance

Network performance

3

Page 4: Tuning database performance

THE SERVER PERFORMANCE

This section focus on performance gains and

improvements you can make at the server.

4

Page 5: Tuning database performance

HARDWARE

Upgrading server hardware just like upgrading clienthardware can improve the performance of theclient/server.

Using multiple network interface cards within a servercan also improve performance by moving the networkloads

Within file server and PC-based database server high-performance file system using technology such asSCSI-2 and RAID offer dramatic performanceimprovements over older ISA and EISA drivertechnology

5

Page 6: Tuning database performance

SOFTWARE

1. Data base and communication processing should be offloaded to aserver processor.

2. The advantage of offloaded is realized when the processingpower of the server is significantly greater then that of the clientworkstation

6

Page 7: Tuning database performance

3.Several servers can be used together so that

performance of the individual components can be

improved

4 For example system may be broken down into a

fileserver a communication server and a data

base server rather then having one completely

over burdened single server

5 By splitting the tasks we can gain performance

benefits because the optimization of each task is

some what different

6 Choosing servers that support symmetric

multiprocessor gives performance gains over

single processor model7

Page 8: Tuning database performance

PERFORMANCE TUNING

Performance tuning is the improvement of system

performance.Typically a computer application.The

system ability to accept higer load is called

scability and modifying a system to handle a higher

load is synonymous of performance tuning

8

Page 9: Tuning database performance

SYSTEMATIC TUNING FOLLOW THESE STEPS

Assess the problem and establish numeric value

that categorize accepatable behaviour.

Measure the performance of the system before

modification.

Identify the part of the system that is critical for

improving the performance called bottleneck.

9

Page 10: Tuning database performance

Modify the part of the system to remove the

bottleneck.

Measure the performance of the system after

modification.

If the performance make better than adopt

otherwise put it the back it was.

10

Page 11: Tuning database performance

PERFORMANCE OPTIMIZATION

Performance optimization is the field of knowledge

about increasing the speed.

Performance optimization employees a number of

technique that are implemented within an

organization.

It includes functionality of network,the monitoring of

bandwidth,capacity application protocals,network

traffic and many others.

Adds efftiveness of a network application

delivery,measure total end to end performance

metrics.11

Page 12: Tuning database performance

WHY IT IS NEEDED IN CLIENT/SERVER

COMPUTING?

It is needed in client/server computing because of the following reasons:

1.Connection use optimization

2.Speeding up data retrival

3.Query and view accleration

4.Creating client/server application

5.Client/server application

12

Page 13: Tuning database performance

TUNING CLIENT PERFORMANCE

Performance of client/server can be improved in many ways. This section of client performance mainly focuses on the attributes that we can examine in order to improve the performance of client machine.The can be maintaibility,dependability,efficient,useability. It mainly inludes two types of performance. They are :

*Hardware performance

*Software performance

13

Page 14: Tuning database performance

HARDWARE AND SOFTWARE

Hardware The performance of client is to certain

extent dictated by a particular hardware within the client.Client performance can be improved

by improving any of the subsystems.

Note:: When purchasing a client machie the best way is to purchase the fastest,most reliable,accurate, machine aviliable .And it also should have the properties of safety and security.

14

Page 15: Tuning database performance

SOFTWARE

The software of the client workstation can be

broken down into two performance reasons:-

15

The first is the operating system that runs on the client.

The second area is the client application or application themselves

Page 16: Tuning database performance

OPERATING SYSTEM

The capability to be simultaneously involved in multiple process is an essenetial for client/server system.

Independent tasks can be ativated to manage communication processes.

Multiple personal productivity application such as word processor,spead sheets and presentation graphics can be active.

Most multitasking operating system today are thirty two bits.

16

Page 17: Tuning database performance

APPLICATIONS

The client application is normally used where

largest improvements can be made.

Performance of client level is very difficult to judge

because each user perception of response is

different.

The best way of determining problem areas is to

ask users what areas of application they consider

now.

17

Page 18: Tuning database performance

TUNING DATABASE PERFORMANCE

Describes a group of activities that are used to optimize the performance of a database.

In order to make C/S database applications performance well ,we need to follow two simple rules:-

a. Minimize network traffic.

b. Process data faster.

Aims to maximize the use of system resources:-

a. To perform works as efficiently.

b. And rapid as possible

18

Page 19: Tuning database performance

IN ORDER TO FULFILL THIS

PERFORMANCE WE NEED TO

CHOOSE/USE :-

1. Efficient database design

2. Efficient index design

3. Efficient Query design

19

Page 20: Tuning database performance

1.EFFICIENT DATABASE DESIGN

Proper tuning of database design is essential to high

performance of the database.

Normalization of logical database design yields the best

performance improvement of anything we can do our

database.

Normalization is the process of breaking down a single table

into many small tables with few fields(columns).

20

Page 21: Tuning database performance

WHY NORMALIZE?

Avoid data duplication.

Faster sorting

Avoid loss of data

Index creation,etc

21

Page 22: Tuning database performance

EXAMPLE:-

Table before Normalization:-

22

Name Roll Class Sub1

Name

Sub1

Marks

Sub2

Name

Sub2

Marks

Sub3

Name

Sub3

Marks

Ram 1 11 English 50 Nepali 45 Math 76

Sita 1 12 English 65 Nepali 65 Math 85

Page 23: Tuning database performance

Table After Normalization:-

23

Name Roll Class Sub Name Sub

Marks

Ram 1 11 English 50

Ram 1 11 Nepali 45

Ram 1 11 math 76

Sita 1 12 English 65

Sita 1 12 Nepali 65

Sita 1 12 Math 85

Page 24: Tuning database performance

2.EFFICIENT INDEX DESIGN

An index for a table is a data Organization that enables certain queries to access one or more records of that table fast.

Proper tuning of index design is essential to high performance of the database.

Used to locate data quickly without having to search every row in a database table.

Index can be created by using one or more columns of a database table.

24

Page 25: Tuning database performance

Examples:-

An index can be created on upper(last_name).

which would only store the uppercase versions of last_name field in the index.

Index Rule:-

1. Clustered index

Choose wisely, only one per table is possible.

Primary key by default is Clustered.

2.Non-Clustered index

More than one is possible.

Foreign key are always Non-Clustered index.

25

Page 26: Tuning database performance

3. EFFICIENT QUERY DESIGN

Describes how the correct design of the query

used by an application can significantly improves

the performance.

Efficient SQL code is primarily about efficient

queries using the SELECT command.

The SELECT command allows use of a WHERE

clause, reducing the amount of data read.

26

Page 27: Tuning database performance

The WHERE clause is used to return (or not

return) specific records.

The UPDATE and DELETE commands can

also have a WHERE clause and, thus, they can

also be performance-tuned with respect to

WHERE clause use, reducing the amount of

data accessed.

27

Example:-

D CITY STATE LAT_N LONG_W

13 Phoenix AZ 33 112

44 Denver CO 40 105

66 Caribou ME 47 68

Page 28: Tuning database performance

QUERY TO SELECT NORTHERN STATIONS

(NORTHERN LATITUDE > 39.7):

SELECT * FROM STATION

WHERE LAT_N > 39.7;

Output:-

28

ID CITY STATE LAT_N LONG_W

44 Denver CO 40 105

66 Caribou ME 47 68

Page 29: Tuning database performance

PROBLEMS:-

29

A normalized database prevents functional dependencies in the data which are located in different tables.

However, querying the database might require many joins of tables to combine information.

As the number of join tables increases, the query running time increases significantly.

Since more files have to opened, more disk I/O is carried out to store and retrieve the data, and programming becomes more difficult.

Hence, it leads to affects the performance of database.

Page 30: Tuning database performance

So,as a direct consequences of increasing number of entities increases that are implemented in the relational environment(hierarchy),we can create more relationships using foreign keys.

For example:- The company code in contact table would be a means of associating contacts with companies. In systems where hundreds of entities are involved, we may end up implementing thousand of foreign keys.

Unfortunately, most of the RDBMS have no way of directly representing a relationship hierarchy other then the use of foreign key. As a result ,these keys can get quite lengthy, being composed of multiple fields.

30

Page 31: Tuning database performance

Example:-

The telephone number record in the contacts

examples requires a company code and contact

code to identify it.

Hence use of foreign key also increase the data

volume.

31

Page 32: Tuning database performance

SOLUTIONS

Not to returns a large results sets to client for final

data selection through browsing.

The creation of calculation tables can also some

times decrease the query loads on server.

32

Page 33: Tuning database performance

33