안녕하세요.


BULK INSERT 동시에 몇개까지 동시에 실행이 가능한지 테스트 해본 결과를 간단하게 공유해 봅니다.


예전에는 HDD, SSD로 세팅시에 동시에 두세개 정도밖에 못했었는데 NVME가 좀 더 보급되면서 테스트를 해보게 되었습니다.

딱히 복잡한 테스트도 아니고 복잡한 결과가 나온것도 아니라서 간단해지네요.



상황 및 조건

1. INDEX 있음 (TEMP에서 정렬 발생)

2. 각각 수십기가 대량 BULK INSERT

3. 각각 다른 BCP파일, 각각 다른 테이블에 ISNERT (파일 : 테이블 = 1:1)

4. MDF, TEMP 디스크 NVME  (동시에 다수의 BULK INSERT를 받아도 디스크가 밀리지 않게)

5. 넉넉한 CPU 수 (BULK INSERT 1개당 1 CPU 쓰레드 필요)


결과

동시 8개까지는 성능 저하가 거의 없었습니다. (중간중간 짧은 하드웨어 경합으로 약간의 속도 저하)

CPU나 DISK의 성능은 남는 상태였고

9개째부터는 8개때 쓰던 성능 이상을 쓰지 않았고, 장비의 성능이 남지만 속도가 느려지는 BULK INSERT가 생겼습니다.



아마 일반적인 방법으로는 8개 이상 동시에 동작하게 최적화 되어 있지 않은 것 같습니다.


감사합니다.





안녕하세요.

 

MSSQL DBA 입니다.


잘부탁드립니다~