Server Performance Considerations
This technical note outlines the factors that enable optimal Magic xpi Server performance. It is divided into the following topics:
These hardware and software configuration issues may affect the overall performance of the Magic xpi Server:
-
Hardware and Software Infrastructure
-
Your platform (IBM i, AIX, Solaris, Windows, Linux, etc.)
-
Database Throughput
-
External Project Resource Throughput
-
Magic xpi Project Performance Considerations
-
Deployment architecture:
-
-
Deployment configuration
-
Mapping complexity
-
Concurrent Flow Execution and Magic xpi Licenses
Concurrent flow execution happens when:
-
Every concurrent flow execution requires a Magic xpi Server thread, and therefore also requires a Magic xpi concurrent thread license.
The number of concurrent flow invocation requests is limited, at any given time, by the number of available Magic xpi Server concurrent thread licenses.
When the license limit is reached, flow invocation requests wait in a queue. When the Magic xpi Server has an available license, the requests are processed.
Note:
|
Delays in flow invocation occur if you do not use enough license threads. This affects the overall throughput of the Magic xpi Server.
|
-
Memory Usage
The Magic xpi Server requires an initial memory amount for its internal usage, independent of the project. Loading and executing the project requires additional memory. The amount of memory needed depends on:
-
When the Magic xpi Server executes a project, the operating system uses its swap mechanism to manage the physical memory efficiently.
Note:
|
If your system has insufficient physical memory, the operating system swaps memory pages inefficiently. This leads to low throughput due to the slowdown of the processes that are executed on the Server’s host machine.
|
-
Multiple CPUs
The Magic xpi Server can be used on multi-CPU machines. In a multi-CPU configuration, the operating system determines the allocation of CPU resources to processes executed on the machine.
A Magic xpi Server process does not interfere with the operating system’s CPU allocation. Other running processes also use CPU resources, which affects the overall CPU allocation.
Since the process representing a Magic xpi Server is multi-threaded, different CPUs may serve different threads of the Magic xpi Server process. This is controlled by the operating system and not by Magic xpi, and is dependent on the operating system. Magic xpi does not impose any limits on the number of CPUs that run on a specific machine.
The number of concurrent requests in the license file is the limit of concurrent requests for all CPUs serving the different threads.
The Magic xpi Server sometimes runs on a server that is running other applications and databases. Because of this, it is likely that the overall performance of the Magic xpi project will improve with the addition of more CPUs.
Note:
|
-
The Magic xpi Server is I/O bounded. Therefore, additional CPUs will not necessarily improve the project’s performance.
-
It is advisable to enhance project I/O performance by looking for bottlenecks in the processes.
|
-
Project Architecture (Including Third Party and Database Location)
Magic xpi project architecture can have a major impact on the performance of the Magic xpi Server. These are some of the architectural issues that you should consider:
-
Note:
|
Proper selection and tuning of these applications, as well as the communication channel, can improve performance.
|
-
Usage of Remote Services (Activity logging, ODS, PSS) are additional architectural solutions that may improve overall performance.
Note:
|
Limiting information collected by the Server and written to the internal database, such as statistics collection and level of activity logged, will improve the Magic xpi Server throughput.
|
-
Operating System Setup
The following operating system resources can be tuned for enhancing the overall performance of the Server:
-
Note:
|
Neglecting machine tune-up may lead to inefficient use of the machine hardware and operating system and will have a negative effect on the overall machine performance.
|