On Tue, 3 May 2005, Tom Lane wrote:
I am a tad worried about the possibility that if the client does nothing for long enough, the TCP output buffer will fill causing the backend to block at send(). A permanently blocked backend is bad news from a performance point of view (it degrades the sinval protocol for everyone else).
Do you mean this scenario:
1. client application doesn't empty its receive buffer (doesn't call read) 2. server keeps sending data 3. client receive buffer fills 4. server send buffer fills 5. server send blocks.
Unfortunately there's no way to tell if the client is misbehaving or the network connection is slow or the client is too busy to handle the data fast enough.
I guess we could increase the send buffer (can it be set per-connection?), but that only delays the problem.
Does statement_timeout fire on that scenario? How about the new transaction_timeout option discussed in other threads?
- Heikki
---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])