为什么Openstack Swift请求被阻止eventlet.green.httplib?

2024-04-27 12:13:09 发布

您现在位置:Python中文网/ 问答频道 /正文

Openstack Swift正在使用evenlet.green.httplib对于缓冲httpconnections。在

当我为写操作做性能基准测试时,我可以观察到即使只有一个副本节点过载,写吞吐量也会下降。 据我所知,write quorum是3个副本中的2个副本,因此只重载一个副本不会影响吞吐量。在

当我更深入地了解我所观察到的情况时,随后的请求将被阻止,直到之前的请求得到响应。这主要是因为BufferedHttpConnection在读取之前的响应之前停止发出新请求。在

为什么Openstack swift使用这种方法?

这是通常的行为吗evenlet.green.httplib.HttpConnection?在

从write quorum的角度来看,这是没有意义的,因为这就像等待所有响应而不是等待quorum一样。在

有什么想法和方法来阻止这种行为使用同一个库?在


Tags: 方法节点openstack副本情况基准green性能
1条回答
网友
1楼 · 发布于 2024-04-27 12:13:09

这不是库的问题,而是由于Openstack Swift配置的限制,其中Openstack Swift的所有Account/Container/Object config中的“Workers”配置设置为1

关于图书馆

当使用evenlet.green.httplib.HttpConnection连接 它不会阻塞。在

但是,如果请求使用同一个连接,则后续请求将被阻止,直到响应被完全读取为止。在

相关问题 更多 >