Opened 2 years ago
Last modified 2 years ago
#2327 infoneeded_new enhancement
Warn of insufficient network buffers
Reported by: | jogger | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | undecided |
Component: | router/general | Version: | 0.9.37 |
Keywords: | Cc: | ||
Parent Tickets: | Sensitive: | no |
Description
Java garbage collectors have a default pause time goal of 200ms which will from time to time be exceeded by a factor of approx. 3. During a STW GC network buffers may easily overrun. A performance warning should be logged if
network_buffer_size < configured_bandwidth * MaxGCPauseMillis * safety_factor / 1000
where safety_factor = 3
Subtickets
Change History (3)
comment:1 Changed 2 years ago by
Status: | new → infoneeded_new |
---|
comment:2 Changed 2 years ago by
Of course we control the JVM via wrapper.config. I can not understand why there is a warning of unsufficient heap memory but not in case of unsufficient network buffers. Then the user has the chance either to tune MaxGCPauseMillis in wrapper.config or to fiddle with the kernel which is different for every platform.
Take 128KB Linux default for TCP and 2 MBps bandwidth then we have MaxGCPauseMillis ⇐ 128 * 1000 / 3 / 2000 ~ 21ms. Way off the 200ms default.
comment:3 Changed 2 years ago by
What I meant was, we don't control _which_ JVM is there. There's very few JVM arguments that work across all versions and vendors of JVMs. And a JVM will usually fail to start if it sees an unknown argument. So we can't add Oracle-specific arguments to wrapper.config.
I still don't understand if this is a bug report for us, or if you're asking us to change something, or what? Whatever the JVM is doing is what it does. We aren't JVM experts. If you're just asking what the JVM does with network buffers, that's a question not a bug, and is best asked in some other place.
what are you asking? what's the bug of ours? we don't control the JVM.