[pgpool-general: 4000] Re: accept() scalability issues

Tatsuo Ishii ishii at postgresql.org
Mon Aug 24 20:54:00 JST 2015

> It’s rather 10AM (see table on the right at https://en.wikipedia.org/wiki/12-hour_clock <https://en.wikipedia.org/wiki/12-hour_clock> - US time is confusing) - but yeah, that’s when we switched over to the patched pgpool version. 


> I think the semaphore implementation behaves differently. Looking at the return values of semop() [1] and the relevant chapters from TLPI [2], it’s suggested that semop() will block all but the winning process, resulting in no wakeups for all other children.

Hmm. I think you are right.

> It might be best not to rely on connection-triggered select() wakeups but rather make semop-calls with timeouts so that the main child loop gets iterated on a regular basis. Alternatively alarm() in combination with a signal handler might be used as well.

Thanks for the suggestion. Let me see how I can implement in other way
using semtimedop().

Best regards,
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php

More information about the pgpool-general mailing list