Revision history [back]

click to hide/show revision 1
initial version

The reader is what's pulling data off the network. That's expected to take a long time.

The fsync() and async_update() will take a long time because they're doing a bunch of disk IO. fsync() makes sure any data in buffer cache is written out to disk, so if that's taking a while, it's because that call makes a bunch of disk heads move around and wait for spinning platters.

eventlet.sleep() may take a while, but that's because it's yielding to another greenlet. The only way the timing measurement there will accurately measure the eventlet overhead is if you have exactly one request being processed. Otherwise, what looks like wasted time is actually time that is spent on running another greenlet.