Update git submodules
* Update swift from branch 'master' - Merge "Replace all "with Chunk*Timeout" by a watchdog" - Replace all "with Chunk*Timeout" by a watchdog The contextmanager eventlet.timeout.Timeout is scheduling a call to throw an exception every time is is entered. The swift-proxy uses Chunk(Read|Write)Timeout for every chunk read/written from the client or object-server. For a single upload/download of a big object, it means tens of thousands of scheduling in eventlet, which is very costly. This patch replace the usage of these context managers by a watchdog greenthread that will schedule itself by sleeping until the next timeout expiration. Then, only if a timeout expired, it will schedule a call to throw the appropriate exception. The gain on bandwidth and CPU usage is significant. On a benchmark environment, it gave this result for an upload of 6 Gbpson a replica policy (average of 3 runs): master: 5.66 Gbps / 849 jiffies consumed by the proxy-server this patch: 7.56 Gbps / 618 jiffies consumed by the proxy-server Change-Id: I19fd42908be5a6ac5905ba193967cd860cb27a0b
This commit is contained in:
parent
ee4f64049d
commit
169ac17dd2
2
swift
2
swift
|
@ -1 +1 @@
|
|||
Subproject commit f3c04afed3e61758c41e7c5ea6dd52de427635ea
|
||||
Subproject commit 7158adfb221d8d7b0b7b72d1e4eceddab0aff726
|
Loading…
Reference in New Issue