SQL Server 데이터베이스의 데이터를 Neo4j 데이터베이스로 복사하는 장기 실행 프로그램이 있습니다. 현재 12 시간 이상 걸립니다. SQL Server 데이터베이스의 각 레코드에 대해이 프로그램은 Neo4j에 대한 수십 개의 액세스를 수행해야합니다. 나는 이것을 바꿀 수 없다.Azure에서 Neo4j 실행 속도 향상
프로그램과 Neo4j는 Azure 작업자 역할로 실행됩니다. Neo4j는 자체 서비스로 운영됩니다.
우리는 중간 시스템에서 업그레이드 프로세스의 속도를하려고 (2 × 1.6GHz의 CPU를, 3.5GB RAM, 490기가바이트 저장)를 대형 기계 (4 × 1.6GHz의 CPU를, 7기가바이트 RAM, 1,000기가바이트 저장) 그러나 이것은 프로그램을 가속화하지 않았다.Neo4j에 대한 액세스 수를 변경할 수는 없지만 각 액세스의 속도를 높이는 방법이 필요합니다. Azure 작업자 역할로 실행되는 Neo4j 액세스 속도 향상에 대한 제안은 크게 감사 할 것입니다.
Azure 작업자 역할로 호스팅되는 Neo4j 서비스에 대한 REST API 호출을한다고 가정하면 데이터 마이그레이션에서 실행중인 HTTP 요청 볼륨에 문제가 발생합니다. 이 때문에 병목이 네트워크 계층에 있기 때문에 계산 인스턴스를 확장하는 데 아무런 이점이 없습니다. 네가 네 애플리케이션과 Neo4j 서비스를 같은 인스턴스에서 호스팅한다고해도 이해가된다. 이렇게하면 몇 가지 디버깅을 수행하여 호출 횟수 제한을 이해할 수 있습니다. 어떤 데이터 이전 프로세스를 사용하고 있습니까? –
또한 SQL에서 마이그레이션하는 레코드의 시간당 볼륨은 어느 정도입니까? 일괄 API를 사용하고 있습니까 아니면 단 한번의 호출을하고 있습니까? 좀 더 나은 도움을 줄 수 있도록 몇 가지 코드 예제를 보여줄 수 있습니까? 또한 SQL 서버는 어디에 있습니까? 어떤 종류의 쿼리를 SQL로 만들고 있습니까? –