gpt4 book ai didi

沙发底座 : 160x faster with only one node : why?

转载 作者:行者123 更新时间:2023-12-03 22:22:21 25 4
gpt4 key购买 nike

在couchbase网站上,可以看到couchbase可以轻松达到每秒10万个请求。由于我的应用程序基本上只需要键/值存储,所以我尝试使用 couchbase。因此,我尝试在我的提供商内部构建一个小型集群。我使用 python 客户端和 Couchbase 服务器 2.2.0 社区版。

将单个节点加入“集群”:我每秒可以处理 16000 个请求:太好了!但是当集群中有 2 个节点时,我每秒仅收到 100 个“set(key,val)”请求,而“get(key)”请求也是如此(我使用了默认存储桶)。这适用于非常少量的 key :10 000 个 key ,长度:只有 10 个字节!

查看统计数据时,似乎没有瓶颈(CPU/磁盘/RAM)。

我的硬件:

Core i5 (3.4 Ghz)
32 GB RAM
Disk : SSD 120Go
Network : Gigabit, bandwith limited to 200 Mbps

我看到的唯一一点是我在 2 个节点之间有 10 毫秒的延迟:

  • 节点之间的“良好”延迟应该是多少?
  • 我可以通过千兆位连接获得什么样的性能?
  • 我使用了默认存储桶,我应该使用另一个具有特定参数的存储桶吗?

最佳答案

如果您在同一个数据中心同时运行客户端和服务器,则 10 毫秒的延迟是相当高的,因此我要做的第一件事就是尝试弄清楚为什么您的网络会产生如此高的延迟。

正如您所提到的,您正在执行大约 100 次操作/秒,如果您的网络延迟为 10 毫秒,这是有意义的。这也意味着您可能通过网络进行同步 IO。这意味着您在发送下一个请求之前等待一个请求进行往返。 python 客户端应具有异步 API,允许您发送多个请求而无需等待响应稍后返回。这将大大提高您可以执行的操作数/秒。

我知道该网站提到 Couchbase 可以为单个节点执行 100k ops/sec,但我已经达到了将近 250k ops/sec。唯一真正会让你慢下来的是网络(我在这种情况下已经达到极限)以及当你请求它们时有多少项目驻留在内存中,因为必须去磁盘会降低你的性能,特别是如果你只有几个与数据库的连接。

以下是对您发布的问题的一些回答。

  1. 如果节点属于同一集群,则它们应该位于同一数据中心。 (如果它们在不同的数据中心,请使用跨数据中心复制功能)
  2. 期望能够最大限度地利用网络连接,并且当您的所有数据都驻留在内存中时,服务器将不会成为瓶颈。
  3. 您无需调整特定参数即可获得 Couchbase 的性能。

[编辑] 1 个节点的性能没有理由优于 2 个节点。事实上,拥有更多节点应该会使您拥有更多吞吐量。

关于沙发底座 : 160x faster with only one node : why?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23603621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com