gpt4 book ai didi

performance - GDBM 的替代品或继任者

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

我们有一个GDBM键值数据库作为负载平衡的面向 Web 的应用程序的后端,该应用程序以 C++ 实现。应用程序提供的数据变得非常庞大,因此我们的管理员已将 GDBM 文件从“本地”存储(在网络服务器上,或非常靠近)移动到大型、共享、远程、NFS 挂载的文件系统。

这影响了性能。我们的性能测试(在测试环境中)显示页面加载时间从数百毫秒(对于本地磁盘)跳跃到几秒(通过 NFS、本地网络),有时甚至高达 30 秒。我相信问题的很大一部分是应用程序从 GDBM 文件中进行了大量随机读取,并且这些读取比 NFS 慢,这在生产中会更糟(前端和后端甚至它们之间有更多的网络硬件)并且随着我们的数据库变得更大。

虽然这不是一个关键应用程序,但我想提高性能,并提供一些可用资源,包括应用程序开发人员时间和 Unix 管理员。我的主要限制是时间只有几周的资源。

在我看来,我的选择是:

  • 通过调整参数提高 NFS 性能。我的直觉是我们不会从中得到什么,但我以前错了,我对 NFS 调优并不是很了解。
  • 移动到不同的键值数据库,例如 memcachedbTokyo Cabinet .
  • 用其他一些协议(protocol)替换 NFS(iSCSI 已经提到,但我不熟悉)。

  • 我应该如何解决这个问题?

    最佳答案

    不要太拘泥于“关系与非关系”的比较。似乎与这个问题无关。

    您的应用程序跨越的线是另一条线:从本地快速文件存储上的小型数据库,到通过网络访问的大型数据库 .越过这条线意味着您现在可以更好地使用专用的、网络服务的数据库管理系统。管理服务器是否管理关系数据库与该方面无关。

    为了快速启动和运行,MariaDB (MySQL 的继任者)可能是您最好的选择。如果您预见到它的增长将远远超过现在,您不妨将其放入 PostgreSQL因为那是它最终需要去的地方:-)

    关于performance - GDBM 的替代品或继任者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/695415/

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