▲ 549 ▼ Synapse is the epitome of this (i.redd.it) submitted 1 year ago by lena@gregtech.eu to c/programmer_humor@programming.dev 73 comments fedilink hide all child comments
[–] LodeMike@lemmy.today 1 point 1 year ago (1 child) The client object or the library? permalink fedilink source parent hideshow 2 child comments replies: [–] kbotc@lemmy.world 1 point 1 year ago … Is this a trick question? The object, provided by the library (net/http which is about as default as they come) sets “DefaultMaxIdleConnsPerHost” to 2. This is significant because if you finish a connection and you’ve got more than 2 idles, it slams that connection close. If you have a lot of simultaneous fast lived requests to the same IP (say a load balanced IP), your go programs will exhaust the ephemeral port list quickly. It’s one of the most common “gotchas” I see where Go programs work great in dev and blow themselves apart in prod. https://dev.to/gkampitakis/http-connection-churn-in-go-34pl is a fairly decent write up. permalink fedilink source parent
[–] kbotc@lemmy.world 1 point 1 year ago … Is this a trick question? The object, provided by the library (net/http which is about as default as they come) sets “DefaultMaxIdleConnsPerHost” to 2. This is significant because if you finish a connection and you’ve got more than 2 idles, it slams that connection close. If you have a lot of simultaneous fast lived requests to the same IP (say a load balanced IP), your go programs will exhaust the ephemeral port list quickly. It’s one of the most common “gotchas” I see where Go programs work great in dev and blow themselves apart in prod. https://dev.to/gkampitakis/http-connection-churn-in-go-34pl is a fairly decent write up. permalink fedilink source parent