Upload
binaya-acharya
View
79
Download
8
Tags:
Embed Size (px)
Citation preview
CLIENT/SERVER
COMPUTING
1
2
PRESENTATION ON
PERFORMANCE TUNING
AND PERFORMANCE
OPTIMIZATION
Presented by:
Sabina khadka
Ashok Adhikari
Binay Acharya
Rogan shrestha
Bhumi Raj
sharma
AGENDA
Performance Tuning
Performance optimization
Client performance
Server performance
Database performance
Network performance
3
THE SERVER PERFORMANCE
This section focus on performance gains and
improvements you can make at the server.
4
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
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
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
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
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
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
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
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
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
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
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
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
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
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
IN ORDER TO FULFILL THIS
PERFORMANCE WE NEED TO
CHOOSE/USE :-
1. Efficient database design
2. Efficient index design
3. Efficient Query design
19
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
WHY NORMALIZE?
Avoid data duplication.
Faster sorting
Avoid loss of data
Index creation,etc
21
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
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
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
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
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
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
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
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.
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
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
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
33