[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [jetty-users] avoiding earlyEOF
|
> On Jun 22, 2018, at 9:56 AM, Shawn Heisey <eclipse@xxxxxxxxxxxx> wrote:
>
> On 6/20/2018 11:23 PM, Robben, Bert wrote:
>> The problem that we face is that we regularly see IOExceptions
>> exceptions occurring in the communication between these components.
> Let's say that you expect all requests to complete in 10 milliseconds or
> less. So you set your timeout to 1 second, thinking that's always going
> to be plenty of time. But then your application fills up its 2GB heap
> right in the middle of handling one of those requests, and the resulting
> garbage collection pauses the JVM for two seconds. The entity at the
> other end of the connection is going to give up and close the connection
> before the program experiencing the GC pause can respond. Tuning
> garbage collection to reduce GC pauses is certainly a good idea, but if
> the timeout were 10 seconds instead of one second, it probably would not
> have had any problem.
You can (and should!) explicitly monitor these conditions. The JVM provides interesting
diagnostics output through JMX to monitor it, or you can directly measure:
https://github.com/opentable/otj-pausedetector
I run this in *every* application -- unexpected pauses cause all sorts of troubles,
monitoring it is cheap, and you'll save hours when you have a big warning
"hey, the JVM went to lunch for 30 seconds here, that might be why all this stuff broke"
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail