Hello,
Right, I'm having a similar issue to this ticket.
The stack is as follows:
Apigee -> nginx -> Java Web App The Java Web App takes ~180 seconds to respond with data after a particular call.
Having configured nginx so that it no longer timeouts within this period of time I began to look at configuring Apigee using the following values:
<Property name="keepalive.timeout.millis">240000</Property> <Property name="io.timeout.millis">240000</Property> <Property name="connect.timeout.millis">240000</Property>
From this we can see that the three timeout values have been set to 4mins, which is far greater than the time it takes for the application to return a payload (3 mins). When making a curl request via nginx (thereby skipping Apigee); the request is successful.
cUrl: Response Code: 200 Time: 2m53.865s nginx: Repsonse Code in access logs: 200 Java: Response server successfully
Now, when I go via Apigee with the above timeout values applied to the target endpoint:
cUrl: Response Code: 504 Time: 59.725s Apigee: Response Code: 200 Time: 168,498ms nginx: Repsonse Code in access logs: 200 Java: Response server successfully
So it seems that Apigee is returning a 504 to cUrl but still waits for the response to complete.
I couldn't see a solution on the linked ticket, any advice would be grand 🙂
Thanks
A
Dear @alex.tylor,
Your approach is systematic and in the right direction. When we consider time taken for response payload, within Apigee you need to keep the following in mind
Is this issue seen in your OPDK installation or Cloud ? If it is cloud, could you please provide the org name and env name in which you are seeing this issue ?
Thanks,
Amar
Thanks for your response. You are right. Essentially we have a cloud installation and this was settled in a service ticket however to all those out there that encounter the same issue, I had to work with an engineer to make the changes on the ELB's
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |