Oracle에 데이터를로드하는 데 ODP.NET을 사용하고 있습니다. 각 호출 1000 행의 그룹에 삽입 bulking입니다.오라클에 비동기식으로 삽입하면 어떤 이점이 있습니까?
load 메서드를 비동기 적으로 호출 할 때 성능상의 이점이 있습니까? 10 개의 호출을 동 기적으로 만드는 대신 10 개의 호출을 비동기 적으로 수행하는 대신 10000 개의 행을 삽입하려고합니다.
데이터베이스가 현재 ASSM을 사용하고 있지만 그렇지 않은 경우 많은 프리리스트가 사용됩니다. 데이터베이스 서버에는 여러 개의 코어가 있습니다.
초기 테스트에서 성능이 향상되는 것 같지만 볼 수없는 것이 있습니까? 잠재적 인 교착 상태 또는 경합 문제?
물론 트랜잭션 처리와 이러한 방식으로 수행되는 부하가 복잡합니다.
예, DB에 여러 연결을 엽니 다. 성능상의 이점은 지금 다소 여드름이 난다. 네트워크를 통해 테스트를 수행하고 있으므로 실제로 차이가 있는지 로컬로 확인해야합니다. 슬프게도 가끔씩 약간의 ORA 오류가 발생하는 것 같습니다. 똑같은 테스트 데이터를 반복해서로드하고 있기 때문에 문제를 해결하기가 정말 어렵습니다. 그리고 일부로드는 데이터 유형 불일치에 대해 불평합니다. – KTrum
@Karl Trumstedt : 정확한 오류 메시지와 코드 예제가 없으면 어떤 일이 발생하는지 알기가 어렵습니다. 가장 잘 수행되는 병렬 세션 수를 확인하십시오. 세션 수가 늘어 나면 수익이 감소하는 것을 관찰해야합니다 (너무 많은 연결을 만들면 결과적으로 처리량이 감소합니다). –