[Openstack] why swift proxy server use poll not epoll??

Michael Barton mike-launchpad at weirdlooking.com
Sun Dec 11 21:28:45 UTC 2011

On Sun, Dec 11, 2011 at 4:08 AM, pf shineyear <shinepf at gmail.com> wrote:
> hi all , can any one tell my the reson of swift proxy server http service
> use python eventlet poll not epoll?

Sure.  We had a problem where epoll failed to report a socket close
event roughly one out of every bazillion times.  Then eventlet would
freak out because it didn't know that some socket was closed but the
OS re-used its file descriptor.

I spent some time trying to debug it, but never figured it out.  It
might have been a problem with the specific kernel we were using, or
python not checking an error condition, or some of our aggressive TCP
tuning causing trouble.  Poll didn't have the same problem and didn't
measurably impact performance for the number of connections we do, so
I just decided to go with it.

> i think epoll is more effcient than poll and if i just use one process, many
> upload action at same time, poll will not work well i think.

Epoll is definitely more efficient, but poll does work just fine.  If
you want to write a bug report or submit a patch to make the eventlet
hub configurable, I think that'd be reasonable.

-- Mike

More information about the Openstack mailing list