Multithreading 从不同节点访问Berkeley DB

Multithreading 从不同节点访问Berkeley DB,multithreading,process,locking,berkeley-db,Multithreading,Process,Locking,Berkeley Db,我将berkeley DB配置为并发数据存储。 我总是使用不同数量的进程(直到64个进程)从一个应用程序访问数据库 但是,我尝试使用更多的进程来访问数据库(超过64个)。由于这个事实,我必须使用多台机器,那么每台可用的机器只有64个处理器。 数据本身保存在NFS上。 从两台机器访问数据会导致应用程序冻结。 知道我需要设置什么标志来允许这种行为吗? 到目前为止,我刚刚使用了一个带有标志的环境:DB_CREATE、DB_INIT MPOOL、DB_INIT_CDB、DB_THREAD。它不起作用,因

我将berkeley DB配置为并发数据存储。 我总是使用不同数量的进程(直到64个进程)从一个应用程序访问数据库

但是,我尝试使用更多的进程来访问数据库(超过64个)。由于这个事实,我必须使用多台机器,那么每台可用的机器只有64个处理器。 数据本身保存在NFS上。 从两台机器访问数据会导致应用程序冻结。 知道我需要设置什么标志来允许这种行为吗?
到目前为止,我刚刚使用了一个带有标志的环境:DB_CREATE、DB_INIT MPOOL、DB_INIT_CDB、DB_THREAD。

它不起作用,因为没有跨多个系统锁定数据库页面的协议。您必须将访问限制在一台机器上。来自伯克利DB常见问题解答:

Berkeley DB的设计目的不是完全支持多系统并发访问网络文件系统或SAN上的共享磁盘上的数据库环境

资料来源: