Salesforce

IBMI i Server Performance (Magic xpa 3.x)

« Go Back

Information

 
Created ByKnowledge Migration User
Approval Process StatusPublished
Objective
Description

IBM i Server Performance (Magic xpa 3.x)

The Magic xpa server on IBM i is implemented through at least two processes (Jobs):

  • MGSERVER is a shell of the IBM i PASE environment where we execute AIX executable of Magic xpa. This job represents core Magic xpa executable. It is a CPU intensive process that executes Magic xpa program logic, processes I/O files (IFS files), handles Memory tables and etc. In terms of performance tuning this job has to be treated as a CPU and memory intensive job that have no DB activities at all. MGSERVER job itself doesn’t perform any DB access. The DB access is implemented through MGCLIENT job.

  • MGCLIENT is a database connection job. It is a database I/O intensive process that performs DB commands (open file, SELECT, UPDATE, DELETE, commit and etc.) and execute calls of CL/RPG/Cobol. Standard iBM i database performance monitoring and tuning methods are applicable for that job.

Single threaded MGSERVER job accesses data through a dedicated MGCLIENT job: one MGCLIENT per MGSERVER

Multi-threaded MGSERVER jobs accesses data through several MGCLIENT jobs.

MGSERVER and MGCLIENT jobs communicate via TCP/IP.

Normally, the MGSERVER and MGCLIENT jobs must have the same runtime priority. This avoids delays in interposes communication. There are cases where it makes sense to separate MGSERVER and MGCLIENT into different subsystems.

For example: Multi-threaded ISAM based application. In this scenario, the MGSERVER job might be started in the subsystem that was configured for CPU and Memory intensive activities, while a MGCLIENT job might run in the regular subsystem since it does not need too many resources.

Managing Workload

Magic xpa applications are CPU intensive. Performance tuning of a CPU intensive application on an IBM i platform has always been a complex issue due to the lack of CPU control tools in OS/400 and OS I. CPU intensive applications allocate the maximum number of available CPU resources during runtime, which leads to a loss of performance in other applications. As of OS I 6.1, it is possible to set up a better application isolation at the CPU level. It is applicable for multi-core systems where it is possible to limit the processing requirements of a workload to a subset of processor cores. For more information, see: http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frzaks%2Frzaksworkloadcapping.htm.

There is no straightforward prescription for best performance setup. Each configuration has to be treated based on many different figures: system model, type of application and workload, single or multi-threaded setup, etc.

For specific cases, contact our support team.

You can also read the IBM documentation regarding IBM i performance tuning.

Reference
Attachment 
Attachment