As io.timeout is the timeout set to receive response from backend ,and connect.timeout is the timeout set to establish connection with backend,I believe connect.timeout should be very much lesser than io.timeout.
As per my understanding,io.timeout can be little higher than the maximum response SLA of backend.If backend max response SLA is 1 minute,we can set io.timeout as 65s ,while connect.timeout can be set as 5000ms.
But I am not sure why they both are given same values in apigee docs posted in http://studylib.net/doc/7018421/api-proxy-documentation link.
<HTTPTargetConnection>
<Properties>
<Property name="connect.timeout.millis">30000</Property>
<Property name="io.time
out.millis">30000</Property>
</Properties>
<URL>http://www.apigee.com</URL>
</HTTPTargetConnection>
I would like to understand the reason behind applying same timeout milliseconds for both connect.timeout and io.timeout.Please help me understand this and how we should usually set.