On 2021-Jul-20, Andres Freund wrote: > I think what's happening is that the first recvfrom() actually gets all 7 > connection results. The server doesn't have any queries to process at that > point. But we ask the kernel whether there is new network input over and over > again, despite having results to process!
Hmm, yeah, that seems a missed opportunity. > with-isbusy: > ... > tps = 3990.424742 (without initial connection time) > ... > 1,013.71 msec task-clock # 0.202 CPUs utilized > 80,203 raw_syscalls:sys_enter # 79.119 K/sec > 19,947 context-switches # 19.677 K/sec > 2,943,676,361 cycles:u # 2.904 GHz > 346,607,769 cycles:k # 0.342 GHz > 8,464,188,379 instructions:u # 2.88 insn per cycle > 226,665,530 instructions:k # 0.65 insn per cycle This is quite compelling. If you don't mind I can get this pushed soon in the next couple of days -- or do you want to do it yourself? -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "La espina, desde que nace, ya pincha" (Proverbio africano)