为什么 Couchbase 使用这么多 CPU?

Mar*_*ius 13 couchbase

我最近在我的服务器上安装了 Couchbase,但它使用了大量 CPU 并进行了大量磁盘 IO。从下面的图片中可以看出,当我安装 Couchbase 时非常清楚,因为 CPU 使用率飙升!

超过 30 天的 CPU 使用率 超过 30 天的 CPU 使用率

过去 24 小时的 CPU 使用率 过去 24 小时的 CPU 使用率

超过 30 天的磁盘使用量 超过 30 天的磁盘使用量

过去 24 小时的磁盘使用情况 过去 24 小时的磁盘使用情况

从 CPU 使用率可以看出,我在 14:00 到 15:00 之间关闭了 Couchbase(CPU 使用率下降到 0%)。然后我再次打开它并将一个 Scala Web 应用程序连接到它(此时使用率上升到 110%)。该应用程序的用户为零,并且完全没有做任何事情。它连接到 Couchbase 服务器,然后等待来自客户端的请求)。在 17:00 我关闭它,CPU 再次下降到 15%。21:00 我再次打开应用程序,CPU 使用率再次跃升至 110%。

Couchbase 在做什么?使用 Couchbase 的 Scala 应用程序完全没有做任何事情(下图是 Couchbase 每秒执行的操作数的图表),但 Couchbase 仍然执行连续的磁盘 IO 并使用 110% 的 CPU。即使没有应用程序连接到 Couchbase 服务器,它也会使用 15% 的 CPU!这对于数据库来说是如何可接受的?

过去 24 小时内每秒的 Couchbase 操作数 过去 24 小时内每秒的 Couchbase 操作数

小智 0

Couchbase 有一些在后台运行的进程来检查集群的状态、文档索引和状态磁盘(进行一些清理、压缩等)。

这就是您在数据库中看到一些活动的原因。

  • 仅用于“后台工作”就占用大量 CPU 周期和 300 IOPS 似乎有点过多。您能否详细说明如何识别和控制(以及可能限制)活动?为什么客户端的空闲连接会占用整个CPU核心? (5认同)