[Openstack] [Swift] PUT Object performance problem
SeongSoo Cho
ppiyakk2 at printf.kr
Mon Oct 29 13:07:08 UTC 2018
Hello, All
I have a terrible problem with object server.
Here is the case.
1. User upload an object to proxy-server
2. Proxy server try to connect with object-server
3. If one of object-server is slow to respond, proxy-server is waiting for
response.
3.1 While waiting for response, proxy-server can't do anything
4. So, The response of client request will be delayed.
In my opinion, this code seems to be a problem
(
https://github.com/openstack/swift/blob/stable/rocky/swift/proxy/controllers/obj.py#L1734
)
```
with ResponseTimeout(node_timeout):
resp = conn.getexpect()
```
If node_timeout's value is 3 and object-server respond after 2 seconds,
proxy-server wait 2 seconds.
Because proxy-server wait for the above response, the execution of the
following code is delayed.
(
https://github.com/openstack/swift/blob/stable/rocky/swift/proxy/controllers/obj.py#L627
)
```
for node in nodes:
try:
putter = self._make_putter(node, part, req, headers)
self.app.set_node_timing(node, putter.connect_duration)
return putter
```
This problem occurs when i do a ring rebalance.
When object-replicator delete a partition directory that are no longer
mine, the disk becomes very busy (Because of xfsaild daemon)
Because the disk are busy, object-server can't create diskfile during PUT
operation.
Is there anyone who is having problems like me?
How can I solve this problem?
I need everyone's help.
Thanks.
Best Regards
SeongSoo Cho
------
SeongSoo Cho (South Korea)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20181029/dc319bb1/attachment.html>
More information about the Openstack
mailing list