On Fri, Feb 08, 2019 at 02:30:52PM -0600, robert engels wrote: > Could be many things, but a few to think about:
Yes, it is quite strange. I don't see it hitting any limits but the request rate goes down. > If you run more Go routines than you have CPUs available, and the task > is CPU bound (which may be if the url points to a local resource), > then you are going to thrash, causing worse performance. CPU does not seem to be maxed out, here is the info for 5 gorutines: CPU | sys 98% | user 436% | irq 26% | idle 4222% | wait 0% | curf 2.20GHz | curscal ?% | CPL | avg1 3.28 | avg5 2.54 | avg15 1.28 | csw 186540 | intr 164257 | | numcpu 48 | 541% gb 123% nginx And for 20 gorutines it looks like this: CPU | sys 132% | user 970% | irq 21% | idle 3655% | wait 0% | curf 2.20GHz | curscal ?% | CPL | avg1 0.52 | avg5 1.18 | avg15 1.01 | csw 240847 | intr 203360 | | numcpu 48 | 1170% gb 103% nginx > The service you are calling is not properly concurrent, so the more > simultaneously requests, the worse it performs. The server end is nginx serving a default static page, so it should be quite fast. > You are hitting network/router limits, so it is dropping packets, > causing worse performance due to TCP retries and/or smaller window > sizes. Just tried running client and server on the same host and it gives the same numbers. -- Valentin -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.