It looks like the problem may be looping. If I do the following slew of
hand, CPU burn dissipates:

--- /usr/lib/python2.7/site-packages/eventlet/green/ssl.py.fcs  2012-04-09 
19:32:04.516730732 -0600
+++ /usr/lib/python2.7/site-packages/eventlet/green/ssl.py      2012-04-09 
21:49:38.823537699 -0600
@@ -128,7 +128,7 @@
             amount = len(data)
             count = 0
             while (count < amount):
-                v = self.send(data[count:])
+                v = self.write(data[count:])
                 count += v
             return amount
         else:

But I do not see a simple way to do anything about it. The client
invokes the ssl.py indirectly, through httplib (there's also
bufferedhttp, but it changes nothing in SSL case). The httplib hardcodes
using of sendall() on the socket object, while only send() can be
overrided easily by HTTPConnection. Since sendall just calls send
repeatedly as seen above, one may be devious and try to turn send() into
write(), but I cannot write my head around the possible implications of
that.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/959221

Title:
  swift consumes over 100% of cpu during upload

To manage notifications about this bug go to:
https://bugs.launchpad.net/swift/+bug/959221/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to