Topic255 - Interface to JDEdwards - Inbound

Document Sample
Topic255 - Interface to JDEdwards - Inbound Powered By Docstoc
					Topic 091 – Performance Tuning
TRAXi3 Reference Guide                                        Topic091 – Performance Tuning


 Precision Software Limited



 Precision software products are copyrighted and all rights are reserved by Precision Software
Limited.
This document is copyrighted and all rights are reserved. No part of this document may be
reproduced, transmitted, adapted, translated or electronically stored without the prior written
consent of Precision Software Limited.

TRAXi3  i3ship , i3trade  i3Comply  and XM4  and are registered trademarks of Precision
Software Limited.
Progress  is a registered trademark of Progress Software Corporation.

Precision Software Limited shall not be liable for errors contained herein or for incidental or
consequential damage or loss in connection with the use of this document. Whilst every effort is
made to eliminate errors, Precision Software Ltd. cannot be held liable for erroneous information
contained herein.




Issue 1.12                                                                            Page 2 of 14
TRAXi3 Reference Guide                         Topic091 – Performance Tuning




Document Control
Issue Control
Issue            Date       Changes Made
1.0              June 08    New Document


Cross Reference



Change Summary
Nr.          Description                   Date         By whom
1.00         New Document                  16.06.08     Jack Moloney




Issue 1.12                                                             Page 3 of 14
TRAXi3 Reference Guide                                                                     Topic091 – Performance Tuning



Contents
  Document Control ...................................................................................................................... 3
      Issue Control ..........................................................................................................................3
      Cross Reference ....................................................................................................................3
      Change Summary ..................................................................................................................3
      Glossary .................................................................................................................................5
  Purpose of the document .......................................................................................................... 6
  Parameter File Settings ............................................................................................................. 7
      Buffer Size For Temporary Tables (-Bt setting) .....................................................................7
      Message Buffer Size (-Mm setting) .......................................................................................7
      Quick Request (-q setting) .....................................................................................................7
      Speed Sort (-TB setting) ........................................................................................................8
      Merge Number (-TM setting) .................................................................................................8
  Directory Structures .................................................................................................................. 9
  Temporary File Settings ............................................................................................................ 9
      Black-Box Listener .................................................................................................................9
  Database Settings ...................................................................................................................... 9
      Indexes ..................................................................................................................................9
      SQL Databases......................................................................................................................9
        PRGRS_NATIVE_LOCKWAIT per OE10.1B02 .............................................................. 10
  Highway Settings ..................................................................................................................... 10
  Programs .................................................................................................................................. 11
      FIND FIRST vs. FOR FIRST .............................................................................................. 11
  Performance Analysis Tools ................................................................................................... 12
      SQL ..................................................................................................................................... 12
  Known Performance Issues Resolved ................................................................................... 13
      TRAXi3 V7.0 Oracle Environment – Rating Speed issue ................................................... 13




Issue 1.12                                                                                                                    Page 4 of 14
TRAXi3 Reference Guide                                   Topic091 – Performance Tuning




Glossary
Kb                   Precision Software Knowledge Base




Issue 1.12                                                                   Page 5 of 14
TRAXi3 Reference Guide                                     Topic091 – Performance Tuning




Purpose of the document
The purpose of this document is to describe areas where performance might be improved within
TRAXi3.




Issue 1.12                                                                       Page 6 of 14
TRAXi3 Reference Guide                                          Topic091 – Performance Tuning




Parameter File Settings
[Insert here any info as to what should be checked in .PF file – recommended settings]

The following settings should be applied to ALL of the .PF files in the customer’s Production
environments, where applicable. You should search for ALL of the .PF files, as there may be
multiple files available, especially in the case of black-box Listener services.


Buffer Size For Temporary Tables (-Bt setting)
If you have large .dbi temporary files, then this means the value in your .PF file is too low

Per the Progress Help documentation:

“
An integer that specifies the number of blocks in the buffer for temporary tables.

Use Buffer Size for Temporary Tables (-Bt) to specify the size of the buffer pool for
blocks/records from the temporary table. Progress uses the value you specify for temporary
databases used during the session the same way it uses Blocks in Database Buffers (-B) for
permanent databases. The default value is 10.

See the Progress Programming Handbook for more information on temporary tables.
“




Message Buffer Size (-Mm setting)
Per the Progress Help documentation:

“
Use Message Buffer Size (-Mm) to specify the standard message buffer size, in bytes. This
parameter is relevant only for network protocols; it is ignored for messages passed using UNIX
pipes or NETBIOS.

Progress uses message buffers to move records (messages) between servers and remote
clients. Records (plus 40 -byte headers) larger than the message buffer size are fragmented into
multiple messages. If your database records are large, increase this parameter to avoid record
fragmentation. However, if the network works more efficiently with small messages, reduce -Mm
and fragment larger records.
“

Quick Request (-q setting)
This can have quite a large impact on performance so in a Production environment it is
recommended that this setting is always in place

Per the Progress Help documentation:




Issue 1.12                                                                              Page 7 of 14
TRAXi3 Reference Guide                                          Topic091 – Performance Tuning


“
Use Quick Request ( -q) to tell Progress to search PROPATH directories only on the first use of a
procedure.

Ordinarily in a Progress procedure, when the RUN statement is used to run a subprocedure,
Progress searches the directories named by the PROPATH environment variable, looking for a
procedure of the same name with a .r extension. If it finds a file with a .r extension (an r-code
file), it checks to make sure the r-code file has not changed since that r-code file was created.

This search is very useful in a development environment where procedures change regularly and
you want to make sure you are always running the most current version of your application.
However, in a production environment, you might want to bypass this search.

With Quick Request ( -q), after the initial search, if the procedure still resides in memory or in the
local session-compiled file, Progress uses that version of the procedure rather than searching the
directories again. However, Progress always checks whether Data Dictionary definitions related
to a procedure were modified. If they were modified, Progress displays an error when it tries to
retrieve the procedure.
“


Speed Sort (-TB setting)
Per the Progress Help documentation:

“
The block size in kilobytes, to allocate when sorting records for reports and when rebuilding
indexes. The default block size is 2K but can be reset anywhere from 1KB to 31KB.

Use Speed Sort ( -TB) primarily to improve sort performance, particularly during index rebuild
operations. If you increase the block size beyond 2KB, Progress sorts records faster but uses
more memory and disk space in the process. If system memory is severely limited, you might
actually choose to lower the block size.

Sort space is allocated in the SRT file, a temporary session file having a system-generated
unique name with the prefix srt. Progress uses the SRT file to store session-compile modules and
as temporary work space during sorting (including rebuilding indexes). Use -TB to set the SRT
file block size-the increments by which the SRT file grows.

In summary, increase -TB to at least 8 to improve index rebuild operations by 15 percent or more.
Or, decrease -TB to 1 to relieve severe Windows memory shortages during sort operations. See
also the description of the Merge Number (-TM) startup parameter.
“

Merge Number (-TM setting)
Per the Progress Help documentation:

“
The number of blocks or streams to be simultaneously merged during the sort process.

Use Merge Number (-TM) to increase the speed of the merge phase of the sort process (at the
cost of increased temporary memory usage). See also the description of the Speed Sort (-TB)
startup parameter.



Issue 1.12                                                                               Page 8 of 14
TRAXi3 Reference Guide                                         Topic091 – Performance Tuning


“



Directory Structures
[Insert here any info as to what should be check regarding where the TRAXi3 is located etc]



Temporary File Settings
[Insert here any info as to what should be check regarding where temporary files are created (e.g.
DP settings etc]

Temporary files are output by TRAXi3 in different parts of the processing. These might include:

    -   Progress temp files (lbi, srt, dbi, etc)
    -   Temporary XML files
    -   Print files (.001, .PRN, .DDF, .XML)
    -   Tracing / debug files (.FDX, .LOG etc)

Some of these files are generated with unique references through a procedure that checks to
ensure that no such filename already exists. If the directory contains a large number of files, then
the time taken to generate a new filename will take longer.


Black-Box Listener
Ensure that the temporary directory / directories specified for the Listener(s) are also cleaned
regularly.

In this temp directory, there are created the following:

    -   Progress temp files
    -   Process temp XML files, where tracing / debugging is switched on
    -   Process temp print files (such as collation of labels etc)




Database Settings
Indexes
    1. Check that all the indexes are available in the database instance (there have been
       instances where the scripts run to create the schema did not create all indexes on all
       tables)




SQL Databases



Issue 1.12                                                                             Page 9 of 14
TRAXi3 Reference Guide                                         Topic091 – Performance Tuning


PRGRS_NATIVE_LOCKWAIT per OE10.1B02
The following taken from a Progress Kb:
“
In    Open      Edge    10.1B02     service pack, a new    connection-level                   switch
PRGRS_NATIVE_LOCKWAIT has been added for DataServer for MS SQL
Server:

In earlier versions of the DataServer for MS SQL Server, when an OpenEdge client could not
obtain a record lock, the server timed out immediately and control was returned to the client to
handle lock retries. This is desirable behavior for clients that want immediate control over lock
handling. However, some overall lock contention can be alleviated by setting a small period of
time on the server in which it tries to handle lock condition on its own before timing out and
returning control to the client. This is especially useful to applications with high contention for a
record resource and can provide increased overall application efficiency. The
PRGRS_NATIVE_LOCKWAIT setting permits an application to set a maximum time a statement
waits on the server for a blocked resource. When a statement has waited longer than the
PRGRS_NATIVE_LOCKWAIT setting (specified in milliseconds), the blocked ABL statement is
canceled automatically, and the lock timeout message is returned which the application must
handle on the client. The PRGRS_NATIVE_LOCKWAIT setting will affect all transactions for all
connections to the foreign data source for a given application session. This includes transactions
related to sequence procedures as discussed earlier. Therefore, setting the
PRGRS_NATIVE_LOCKWAIT can also add additional relief to lock contention for sequence
records used by sequence procedures.
Setting the PRGRS_NATIVE_LOCKWAIT is the server-equivalent of setting the
"LOCK_TIMEOUT"          T-SQL     value    in    a    SQL      Server    connection.    When      the
PRGRS_NATIVE_LOCKWAIT setting is used to set a maximum amount of time that a connection
should block waiting for a lock, the connection that has the lock and is causing the blocking
problem is not affected, but the connection waiting on the block is halted. This creates server-
bound latency in the DataServer application that should be considered when setting the number
of milliseconds to be applied as the PRGRS_NATIVE_LOCKWAIT value. When contention for a
record resource is high, server latency may have a positive overall affect on the client's
application performance since the client may end up processing fewer lock time-outs in the
application and have fewer round trips to the server.
“

[Insert here any info as to what should be check regarding the database]



Highway Settings
[Insert here any info as to what should be check regarding Highway]




Issue 1.12                                                                            Page 10 of 14
TRAXi3 Reference Guide                                       Topic091 – Performance Tuning




Programs
[Insert here any info as to what should be check regarding programs (e.g. indexing)]


FIND FIRST vs. FOR FIRST
Progress recommends using a FOR FIRST instead of a FIND FIRST. The improvement only
becomes apparent for non-Progress databases (e.g. SQL, Oracle etc)




Example:

FIND FIRST xmrgin0 NO-LOCK WHERE {xtsycl.i "xmrgin0"}
           xmrgin0.rgpzon BEGINS ("UPSRO-" + pi-recipient-iso-ctry) NO-ERROR.
IF AVAILABLE xmrgin0
THEN DO:

Becomes

FOR FIRST xmrgin0 NO-LOCK WHERE {xtsycl.i "xmrgin0"}
          xmrgin0.rgpzon BEGINS ("UPSRO-" + pi-recipient-iso-ctry).
 wv-chk-for-route = true.
END.

IF wv-chk-for-route
THEN DO:




Issue 1.12                                                                         Page 11 of 14
TRAXi3 Reference Guide                                      Topic091 – Performance Tuning




Performance Analysis Tools

SQL
The SQL DBA has a few tools at least one of which you should have access to: it's called SQL
Query Analyzer and it shows you the cost of the SELECT operation (see screenshot).




Issue 1.12                                                                       Page 12 of 14
TRAXi3 Reference Guide                                       Topic091 – Performance Tuning




Known Performance Issues Resolved

TRAXi3 V7.0 Oracle Environment – Rating Speed issue
The time taken to rate a shipment, regardless of the carrier service chosen, was taking upwards
of 30 seconds.

Cause of the issue:
Two indexes were missing for the database table: XMRXPB0. This table contained upwards of 4
million records

Resolution:
Recreate both indexes using SQL script from the SQL file that was used to create TRAX7EDU
Oracle schema




Issue 1.12                                                                         Page 13 of 14
TRAXi3 Reference Guide                                     Topic091 – Performance Tuning



Suggestions for Improved Documentation

Please report any suggestions that you feel would improve Precisions documentation and return
via Email: education@precisionsoftware.com




Issue 1.12                                                                       Page 14 of 14

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:9/15/2012
language:Unknown
pages:14