Consultor Eletrônico



Kbase 17911: Potential Performance Problems with 7.3E on AIX 4.X
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   1/20/1999
Potential Performance Problems with 7.3E on AIX 4.X

There have been cases reported in which running 7.3E on a version
of IBM's AIX operating system higher than 4.0 can cause significant
performance problems. This is due to what IBM has called "excessive
r-code emulation" between the 4.0 operating system and some versions
of software, including 7.3E of Progress.

The release of AIX 4 contained some changes in the system calls that
cause Progress and other software applications to basically over
emulate when executing r-code hence the performance degradation. The
tool IBM has used to determine the level of r-code emulation that is
occuring is called emstat, and here is a brief synopsis of what it
tells us.

1) total number of emulated instructions since the last system reboot.

If an instruction has to be emulated then it requires significantly
more CPU cycles to be executed. Emulation tends to take place more
prevalently when running applications that were not compiled to the
os version that it is currently running on.

2) High paging rates

If paging rates are excessive then the vmtune command can be executed
as root as follows:(see the man page for more info).

/usr/samples/kernel/vmtune -p 5 -P 10

This command can also be put in /etc/rc as well. If this is done and
paging is not completely eliminated then more memory should be
considered.

3) No write-behind algorithm active

AIX 4.2.1 leaves sequential and random write-behind algorithms off
by default, and vmtune can also be used to fix this as follows:

/usr/samples/kernel/vmtune -c 1 -W 1
- Put this in /etc/rc as well.

NOTE: THESE CHANGES ARE SUGGESTIONS AND ARE NOT SUPPORTED BY PROGRESS
SOFTWARE. THESE ARE KERNEL MODIFICATIONS SUPPORTABLE BY IBM CORP.

What all this means in short is the 7.3E was ported to AIX 3.2.5 and
therefore runs with the system calls included with that os level.
Since IBM has made some modifications to these system calls in the
version 4 releases, it takes Progress's instructions longer to get
executed hence the potential performance problem.

There are two workarounds available if experiencing this problem, and
only IBM consulting has been able to pinpoint this as the culprit in
the two reported cases.

The first option is to upgrade to Progress 8.2B as this release was
built, ported, and extensively tested on AIX 4.1 and is os upgrade
compatible with 4.2 and 4.3. Progress 8.2b does NOT experience the
rcode emulation problem on this os level.

For those who ABSOLUTELY cannot upgrade to 8.2 (although it is
strongly recommended), there is the -directio startup option that
bypasses certain system calls to the operating system by Progress,
such as the osynch() call which is very well documented in
knowledgebase entry number 17228.

Although this issue appears to be a huge potential performance problem
it has only been reported by two customers. If you wish to go through
the rcode emulation testing, then we suggest contacting IBM Support.
It is very important to note that this problem is by no means
directly applicable to every case of Progress performance degradation.
Nor will Technical Support engage in any os diagnostics to prove a
performance problem is due to this issue. Normal performance debugging
procedures will be followed for all 7.3E degradation issues.

NOTE: THIS IS NOT A BUG. WE HAVE ADDRESSED THE ISSUE BY PORTING A
RELEASE OF PROGRESS TO THE OS LEVEL EXPERIENCING THE PROBLEM.

SDA 5/8/98

Progress Software Technical Support Note # 17911