【发布时间】:2010-04-08 04:24:52
【问题描述】:
我正在考虑使用 Berkeley DB 在应用程序集群上缓存一些数据。我可以计划处理 Berkeley DB 的节点数量的合理上限是多少?写入数据库将来自单个节点。
【问题讨论】:
我正在考虑使用 Berkeley DB 在应用程序集群上缓存一些数据。我可以计划处理 Berkeley DB 的节点数量的合理上限是多少?写入数据库将来自单个节点。
【问题讨论】:
马克,
我们的大多数客户都使用 5-20 个节点的复制组,尽管我们有一些大型客户使用更大的复制组运行。 Berkeley DB 没有内在的限制。
实际限制取决于您的读/写工作负载组合、您如何配置复制系统以及主系统上可用的 CPU 周期数量。基本上,master 需要与每个副本进行通信(发送日志记录、处理确认、响应请求等)。与主服务器通信的每个副本都会增加少量开销。对于主要是读/偶尔写的工作负载,主服务器不必经常通信,与副本通信需要最少的处理。在以写入为主的工作负载上,主服务器正在积极地与副本通信,并且每个副本都会产生更重要的工作负载。您可以通过将读取操作集中到副本以及利用 Berkeley DB HA 客户端到客户端同步功能来减少主服务器上的工作负载。
您的工作量会有所不同,因此最好的方法是测试您的应用程序原型并评估吞吐量、应用程序要求和可用 CPU 周期之间的平衡。您是否知道您希望在您的复制组中需要多少个节点?
问候,
戴夫
PS:Getting Started with Replication Guide 是一个很好的起点。
【讨论】: