Openstack Swift正在使用evenlet.green.httplib对于缓冲httpconnections。在
当我为写操作做性能基准测试时,我可以观察到即使只有一个副本节点过载,写吞吐量也会下降。 据我所知,write quorum是3个副本中的2个副本,因此只重载一个副本不会影响吞吐量。在
当我更深入地了解我所观察到的情况时,随后的请求将被阻止,直到之前的请求得到响应。这主要是因为BufferedHttpConnection在读取之前的响应之前停止发出新请求。在
为什么Openstack swift使用这种方法?
这是通常的行为吗evenlet.green.httplib.HttpConnection?在
从write quorum的角度来看,这是没有意义的,因为这就像等待所有响应而不是等待quorum一样。在
有什么想法和方法来阻止这种行为使用同一个库?在
这不是库的问题,而是由于Openstack Swift配置的限制,其中Openstack Swift的所有Account/Container/Object config中的“Workers”配置设置为1
关于图书馆
当使用evenlet.green.httplib.HttpConnection连接 它不会阻塞。在
但是,如果请求使用同一个连接,则后续请求将被阻止,直到响应被完全读取为止。在
相关问题 更多 >
编程相关推荐