This section outlines some suggestions to improve the performance of Portus.
This only applies for web services which use the invoke operation, e.g services built from the Natural, Cobol or DLL drivers.
Portus will validate the incoming XML against an XSD. This ensures that the contents and structure of the payload are correct, and will catch potential errors early on in processing. But XML validation is a relatively expensive operation, so it is possible to turn this off if required.
You may want to back up your existing XSD files before deletion. Use the "Import Service Definition" and ensure the XSD box is checked. See here for more information.
To delete the XSD, use the "Delete Service Definition", and ensure the XSD box is checked. The XSD has now been deleted from the server and validation of the payload will not take place.
Each time Portus handles a request, it writes some logging information to the access log via Apache. By default, this file is access_log / access.log / DD:ACCESS based on the platform, *nix, Windows, z/OS respectively.
To restrict this logging, see the following Apache directive here
To remove this logging, remove the CustomLog directive from your httpd.conf / HTCONF. This can be accomplished by adding a # in front of the directive.
This only applies on z/OS or z/VSE.
Edit your SYSPARM and ensure caching of the Portus filesystem has been turned on. The option is CACHESIZE=N option on the CDI_DRIVER directive
E.g
CDI_DRIVER=('pfs,PAANPFS,CONTAINER=CIO://DD:PFS,CHARSET=ASCII,LRECL=4096,CACHESIZE=4096')
By default, when a user issues a list request, with key data of "*", i.e. listing all records in the database, Portus will send back records in a "streamed" fashion. For example, as soon as one record is retrieved, it is immediately sent back to the client using the HTTP chunking protocol. It has been found that this is the most effective way of handling large amounts of data, but there is a small performance offset in doing this. There are a number of directives that affect how streaming is applied. These directives must be part of the Apache configuration file.
SoaGatewayStreaming On : This is the default setting. Responses
will be streamed back to the client using the HTTP Chunking protocol when a
list is requested that will retrieve every record in the database.
SoaGatewayStreaming Off : No streaming will ever take place.
Use this option if you are concerned about performance, and will be listing
every record in the database.
SoaGatewayStreaming Force : Portus will always to
attempt to stream data back to the client. This is most effective if the SOA
Gateway is running on a machine with low resources, and low memory usage is a
priority.
The Portus uses the Apache worker MPM to handle requests. This can be modified to increase server threads, therefore allowing the server to serve more requests. See the Apache documentation for more information.
Important:
Ensure that the ServerLimit of 1 is maintained at all times.
Portus will not function correctly if more than server process is
started.