cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X

PTC Integrity Java API: Remote vs. Local Integration Point - Huge difference in performance

AndreyVi
4-Participant

PTC Integrity Java API: Remote vs. Local Integration Point - Huge difference in performance

A Java application uses mksapi-jar client library and attempts to retrieve item history using "im viewissue --showHistory" calls for multiple items one by one. Running requests agains the remote server and through the local IntegrityClient shows huge difference in response times and network traffic.

 

The table below shows response times for several items using local and remote integration points. All tests are executed from the same machine.

 

The meanings of the columns are:

 

- Size (M): The size of the raw XML response in MB

- Local: The duration of the request if using a Local Integration Point

integrationPoint = integrationPointFactory
.createLocalIntegrationPoint(major, minor);

- Remote: The duration of the request if using a Remote Integration Point

integrationPoint = integrationPointFactory
.createIntegrationPoint(host, port, secure, major, minor);

- Factor: Remote / Local (rounded)

 

Test Results:

 


Size (M) Local Remote Factor

1 :02 :06 3
10 :04 :22 5
100 1:26 3:36 2
1.000 2:25 33:00 13
9.000 15:30 5:00:00 19
19.500 16:00 11:00:00 40
25.500 32:00 14:00:00 26

 

Besides that, the network traffic created by a call through the Local Integration Point is only a fraction of the network traffic created by the same call through a Remote Integration Point.

 

Enabling compression for the local IntegrityClient in IntegrityClientSite.rc by setting

IntegrityClient.default.compressionEnabled=true

doesn't seem to make any difference for calls through the Local Integration Point.

 

The mentioned observations lead to the following suspects:

- The local IntegrityClient uses compression by default (even if it is not enabled explicitly in IntegrityClientSite.rc).

- The Java client (mksapi.jar) doesn't use compression.

 

QUESTIONS:

 

- Is this correct?

- If yes, how can the Java client (mksapi.jar) be configured to use compression?

 

RELATED ISSUES:

 

Java API: Traffic, Performance and Memory issues while getting item history:

https://community.ptc.com/t5/Windchill-Systems-Software/Java-API-Traffic-Performance-and-Memory-issues-while-getting/td-p/717588 

 

PTC Integrity Java API: How to enable HTTP compression:

https://community.ptc.com/t5/Windchill-Systems-Software/PTC-Integrity-Java-API-How-to-enable-HTTP-compression/m-p/720188/highlight/false#M7442 

 

Thank you very much in advance, any help is highly appreciated!

 

0 REPLIES 0
Top Tags