Orient DB MultiCore写入边处理

时间:2018-04-22 21:42:47

标签: python parallel-processing orientdb orientdb2.2

我有一个大的写操作操作,我想在一个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) 

0 个答案:

没有答案