Is it possible to compare Pacific and AppSever performance differences.
For example: I know that Development Pacific has 5 concurrent requests. I configure standard AppServer to have 5 agents (maxSrvrInstance=5). And then perform tests by running specific business application with different approaches.
Is it reasonable to expect reliable results in such way ?
Yes and no. When you start up a classic AppServer, you have 5 agent processes with 5 ABL sessions ready to go. When you start up a PAS for OpenEdge server in 11.5.0, you have a single agent process with no ABL sessions ready to go. These are created on demand. For 11.5.1, we now create 5 sessions at server startup. This was done because we were seeing poor performance in tests like these.
According to your post, then we could say that Pacific will perform worse at the beginning of load when all Pacific agent processes are taking time to start. But I have measured performance on constant load and Pacific performance in all times is worse. Also I have measured configuration with 1 AppServer agent (maxSrvrInstance=1) and 1 Pacific client process (maxConnectionsPerAgent=1), and the results are the same.
Do you know where in the roundtrip the performance difference is ?
General areas that should be visible from the logs:
1. Communications between client and appserver for incoming requests and outgoing results (so between client & webserver for PAS, client & broker for classic)
2. Time between appserver acknowledging request and passing it to a worker session (Thread for PAS, agent for classic),
3. ABL code being run by the worker
4. Communications between workers & databases (ok, this one not be visible from logs immediately. But db statistics may show early indicators at least)
Also, I'm assuming this is an ABL client, or Java / .NET Open Client connecting to AppServer directly ?
If yes: For the 1st area in particular extra overhead *is* expected for PAS as that's all handled via HTML instead of via the native binary protocol classic AppServer uses. Converting/mapping between the 2 protocols takes time & resources.
To get an idea of how much the overhead is, set up access to the classic AppServer through the AIA. (AIA = AppServer Internet Adapter, performing the native to HTML mapping above it it's only purpose.)
If instead you're going through SOAP or REST adapter: Those standards enforce HTML-based transport protocol. So for both classic AppServer and PAS, there is always a mapping from standard format & protocol to native format..