Our Neo4jStore uses GraphDatabase from the official neo4j Python driver, but when the API services are under high load this can leave a lot of potential performance on the table due to FastAPI uvicorn workers blocking on calls to Neo4j.
To squeeze more performance out of our APIs, allowing smaller host infrastructure to handle higher request volume, we should try switching out GraphDatabase for AsyncGraphDatabase and update Neo4jStore methods and the API services to make use of this properly.
Our
Neo4jStoreusesGraphDatabasefrom the official neo4j Python driver, but when the API services are under high load this can leave a lot of potential performance on the table due toFastAPIuvicornworkers blocking on calls to Neo4j.To squeeze more performance out of our APIs, allowing smaller host infrastructure to handle higher request volume, we should try switching out
GraphDatabaseforAsyncGraphDatabaseand updateNeo4jStoremethods and the API services to make use of this properly.