|
|
|
|
|
Three I's for Better Performance
By Alan Sargent
Database Management Technology,Inc
One of the perks of doing consulting work is traveling to exotic places (of course, this
is also one of the perils of consulting). Not long ago, I visited a client in
Colombia, South America. The country is beautiful and the people are very gracious,
which helped relieve my trepidation about going to a foreign country where I don't speak
the language. My high school Spanish was pretty rusty but, fortunately, the language
of computers is universal.
The client was a fast-growing company with a fast-growing database and user
population. As often happens in these circumstances, interactive response time
gradually was slowing down. The client was technically savvy as far as the hardware
and operating system were concerned but didn't have much experience tuning Ingres.
They did the best they could but when performance continued to degrade, they called for
help.
1. Identify the bottleneck
Most systems run fine when there is only one user. It is when the tenth, hundredth,
or thousandth user logs on that response time problems occur. This is because the
users are all contending for the same system resources. A system resource may be a
hardware resource (CPU, memory, disk, I/O channel, network wire), software resource
(process scheduler, swapper, log writer, query optimizer, sorter), or data resource (file,
database, table, page, row). If one or more system resources are unable to satisfy
the demand placed on them, they become a "bottleneck" for the system. |
|
|
|
|
|
|
|
|
|
|
The key to finding response time and
throughput problems is identifying the bottlenecks.
There are two symptoms of a resource bottleneck:
Saturation. The utilization of some resources, such as CPU or memory, can
be measured in terms of "percent busy or allocated". If a resource is 90%
busy (i.e., less than 10% idle or available) over a given period, then it is likely a
bottleneck.
Queuing. Some resources can be shared (e.g., many users can read the same
data page) while others cannot (e.g., a disk can only process one I/O request at a
time). Users desiring to allocate busy resources must wait their turn. Process
and session states indicate the resources for which users are waiting and thus point out
bottlenecks. For example, if many sessions are waiting for log file I/Os to
complete, then the bottleneck is probably the transaction logging system (too few log
buffers, slow or busy disk drive, etc.).
Hardware bottlenecks are usually the easiest to identify since most operating systems
provide tools for monitoring resource utilization and process states (queuing). Monitoring
the utilization and queuing of software and data resources is more difficult and requires
specialized tools. Fortunately, Ingres tools such as IPM and third-party tools such
as DMT's DBAnalyzer provide access to the information required to identify Ingres
bottlenecks.
Using DBAnalyzer and the VMS Monitor utility at the client site, several bottlenecks were
identified.
(Continued on
page 4)
|
|
|
|
|
|
|
 |
|
|
|
|
|
Frameworks
By Peter Barzen and Julie Tipton
Prophecy Americas Inc.
After completing the analysis and design
specifications to meet the requirements of a transaction entry process, a seasoned IS
professional provided a 40 person-day estimate to deliver the solution using a forms-based
approach, another provided a 7 day estimate using an Object Oriented approach. A third
suggested that it should be achievable in just 15 minutes using a Framework! What
incredible gains.
What is an Object Framework?
If you ask a dozen people " What is an Object Framework?", you will probably get
a dozen different answers. For example:
A system that provides the ability to snap together applications
An environment to assemble components
A tool used in object assembly
Something that will let you integrate other systems 'xxx' compliant objects into
your own system
What does an Object Framework deliver?
If you ask the question, "What does an Object Framework deliver", you will
generally get a set of consistent responses including:
Re-use
Timeliness
Robustness
Cost effectiveness
What Should a Framework De
(Continued on
page 5)
|
|
|
|
|
|
|