我有一个大的写操作操作,我想在一个Vertex类上完成Orient DB。 Orient DB声称为数据库https://orientdb.com/docs/last/Tutorial-Clusters.html上的每个群集分配流程。
我目前正在使用16核机器尝试执行并行写入,大约15个客户端进程请求写入,但是我无法在OrientDB上达到超过2个核心的CPU利用率。有没有人知道如何增加Orient DB中并行写操作中使用的内核数量?
这是一个示例,其中每个进程调用的worker函数发出一堆定向写操作。
max_processes = 15
processes = []
def increment_token_idx(token_idx):
if token_idx == 14:
return 0
else:
return token_idx + 1
while True:
while len(processes) < max_processes:
queue_url = queue_urls.pop()
p = Process(target=worker, args=(queue_url, tokens[token_idx]))
token_idx = increment_token_idx(token_idx)
p.start()
processes.append(p)
for p in processes:
if(p.exitcode != None):
processes.remove(p)
queue_url = queue_urls.pop()
a_p = Process(target=worker, args=(queue_url, tokens[token_idx]))
a_p.daemon = True
a_p.start()
processes.append(a_p)
time.sleep(5)