I just prepared the rollout of onkopedia.com with 5 ZEO clients, WSGI (waitress)
I see constant high CPU load of 5 caused by each ZEO client although all instances are idle, no incoming requests, no other background processing
Attached to one of the processes I see myriades of select() calls. I would expect a blocking socket call waiting for incoming connections but obviously not some kind polling?
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
select(17, [12 15], [16], [12 15 16], {tv_sec=1, tv_usec=0}) = 1 (out [16], left {tv_sec=0, tv_usec=999998})
Any idea what's going on here?