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

Tatsuo Ishii ishii at postgresql.org
Fri Aug 7 09:10:52 JST 2015


> we operate a pgpool-II setup (running 3.3.6) configured with ~1200 children and noticed heavy context switching & CPU time spent in the kernel.
> 
> While looking through the source I noticed that pgpool neither uses an event-based approach like epoll or kqueue, nor does it use serializing mechanisms like semaphores to reduce contention around the select/accept loop.
> 
> http://uwsgi-docs.readthedocs.org/en/latest/articles/SerializingAccept.html <http://uwsgi-docs.readthedocs.org/en/latest/articles/SerializingAccept.html> describes the generic problem.
> 
> Do you have any plans to implement an event- or lock-based approach in pgpool?

Long time ago I played with accept+semaphores approach to see if
there's any performance improvement. The result was not positive and I
gave up the approach. Unfortunately nor test code or test data remain
though.

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


More information about the pgpool-general mailing list