Neptune | Gremlin Python |使用WebSocket的并行查询

Neptune | Gremlin Python |使用WebSocket的并行查询,websocket,python-multiprocessing,amazon-neptune,gremlinpython,Websocket,Python Multiprocessing,Amazon Neptune,Gremlinpython,从gremlin python jupyter笔记本到Neptune集群执行并行查询的最佳方式是什么?我试图用Python中的多进程包来解决这个问题。但是,我的三个db.r5.4X大型读卡器在100%CPU下很快就会最大化,如下图所示。图1是CPU利用率,图2是gremlin错误。下面是我的代码。有没有一种方法可以用WebSocket更好地解决这个问题?如果是的话,你能帮我一下吗?因为我对小精灵或海王星还很陌生 params = [tuple(x) for x in new_registrati

从gremlin python jupyter笔记本到Neptune集群执行并行查询的最佳方式是什么?我试图用Python中的多进程包来解决这个问题。但是,我的三个db.r5.4X大型读卡器在100%CPU下很快就会最大化,如下图所示。图1是CPU利用率,图2是gremlin错误。下面是我的代码。有没有一种方法可以用WebSocket更好地解决这个问题?如果是的话,你能帮我一下吗?因为我对小精灵或海王星还很陌生

params = [tuple(x) for x in new_registrations_list[['id','createddate']].values]
pool = Pool(42)
df=pool.starmap(process_vertex,params)
pool.close()


def process_vertex(vertex_id, reg_date):    
    g=neptune.graphTraversal(neptune_endpoint='neptune-endpoint', neptune_port=xxx1x)
    vertices=g.V(str(vertex_id)).repeat(__.both().dedup()).emit().project('id').by(T.id).toList()


CPU利用率取决于查询性能。即使是并行处理,neptune并行处理也取决于内核和vCpu的数量。每次查询执行都会阻塞一个核心。因此,如果查询响应时间很长,后续查询将累积在neptune的输入队列中。您可以在cloudwatch metrics中监视挂起的请求。MainRequestQueuePendingRequests用于neptune群集或实例。CPU利用率取决于查询性能。即使是并行处理,neptune并行处理也取决于内核和vCpu的数量。每次查询执行都会阻塞一个核心。因此,如果查询响应时间很长,后续查询将累积在neptune的输入队列中。您可以在cloudwatch metrics中监视挂起的请求。MainRequestQueuePendingRequests用于neptune群集或实例。