Contents
![[-] [-]](/moniwiki/imgs/plugin/arrup.png)
![[+] [+]](/moniwiki/imgs/plugin/arrdown.png)
- 1 옵션 없음
- 2 blocksize옵션
- 3 blocksize, maxtransfersize 옵션
- 4 네트워크 백업 테스트
옵션에 따라서 백업 성능이 어떻게 변화하는지 테스트를 해보았다. 2000버전에는 blocksize라는 키워드가 문서화되어 있지만, maxtransfersize는 문서화되지 않은 옵션이다. 예전에 어떤 문서에서 인텔계열의 cpu는 i/o 단위가 4096byte라고 본 적이 있다. 그래서 그런지 blocksize가 4096byte일 경우가 가장 성능이 좋다. 결론적으로 ‘blocksize, maxtransfersize 옵션을 적절히 사용하면 약 10% 이상의 성능향상 효과 볼 수 있다’고 할 수 있겠다. 아래는 테스트 결과다. 참고로 CPU 2.4
GHz, RAM 2G, Disk 1개의 PC에서 테스트 했다. 주의할 것은 환경에 따라서 옵션을 적절히 조절해야 한다는 것이다. 여기 나오는 값들은 정답이 아니다.
1 옵션 없음 #
backup database sample to disk = 'f:\sample.bak'
--BACKUP DATABASE이(가) 407185페이지를 45.081초(73.992MB/초)만에 처리했습니다.
2 blocksize옵션 #
backup database sample to disk = 'f:\sample.bak' with blocksize = 65536
--BACKUP DATABASE이(가) 407186페이지를 44.837초(74.395MB/초)만에 처리했습니다.
backup database sample to disk = 'f:\sample.bak' with blocksize = 32768
--BACKUP DATABASE이(가) 405063페이지를 42.789초(77.549MB/초)만에 처리했습니다.
backup database sample to disk = 'f:\sample.bak' with blocksize = 16384
--BACKUP DATABASE이(가) 424447페이지를 45.562초(76.315MB/초)만에 처리했습니다.
backup database sample to disk = 'f:\sample.bak' with blocksize = 8192
--BACKUP DATABASE이(가) 407185페이지를 41.560초(80.261MB/초)만에 처리했습니다.
backup database sample to disk = 'f:\sample.bak' with blocksize = 4096
--BACKUP DATABASE이(가) 407185페이지를 41.487초(80.402MB/초)만에 처리했습니다. ======> 요기!!
backup database sample to disk = 'f:\sample.bak' with blocksize = 2048
--BACKUP DATABASE이(가) 407185페이지를 41.991초(79.437MB/초)만에 처리했습니다.
3 blocksize, maxtransfersize 옵션 #
backup database sample to disk = 'f:\sample.bak' with blocksize = 65536, maxtransfersize = 4194304
--BACKUP DATABASE이(가) 407186페이지를 44.837초(74.395MB/초)만에 처리했습니다.
--maxtransfersize옵션추가: BACKUP DATABASE이(가) 407185페이지를 37.741초(88.382MB/초)만에 처리했습니다.
backup database sample to disk = 'f:\sample.bak' with blocksize = 32768, maxtransfersize = 4194304
--BACKUP DATABASE이(가) 405063페이지를 42.789초(77.549MB/초)만에 처리했습니다.
--maxtransfersize옵션추가: BACKUP DATABASE이(가) 407191페이지를 35.431초(94.146MB/초)만에 처리했습니다.
backup database sample to disk = 'f:\sample.bak' with blocksize = 16384, maxtransfersize = 4194304
--BACKUP DATABASE이(가) 424447페이지를 45.562초(76.315MB/초)만에 처리했습니다.
--maxtransfersize옵션추가: BACKUP DATABASE이(가) 407185페이지를 34.327초(97.172MB/초)만에 처리했습니다. ======> 요기!!
backup database sample to disk = 'f:\sample.bak' with blocksize = 8192, maxtransfersize = 4194304
--BACKUP DATABASE이(가) 407185페이지를 41.560초(80.261MB/초)만에 처리했습니다.
--maxtransfersize옵션추가: BACKUP DATABASE이(가) 407185페이지를 34.993초(95.323MB/초)만에 처리했습니다.
backup database sample to disk = 'f:\sample.bak' with blocksize = 4096, maxtransfersize = 4194304
--BACKUP DATABASE이(가) 407185페이지를 41.487초(80.402MB/초)만에 처리했습니다.
--maxtransfersize옵션추가: BACKUP DATABASE이(가) 407185페이지를 34.898초(95.582MB/초)만에 처리했습니다.
backup database sample to disk = 'f:\sample.bak' with blocksize = 2048, maxtransfersize = 4194304
--BACKUP DATABASE이(가) 407185페이지를 41.991초(79.437MB/초)만에 처리했습니다.
--maxtransfersize옵션추가: BACKUP DATABASE이(가) 407185페이지를 40.486초(82.390MB/초)만에 처리했습니다.
4 네트워크 백업 테스트 #
backup database sample
to disk = '\\1.1.1.10\f$\sample.bak'
with blocksize = 16384, maxtransfersize = 65536, buffercount = 200
--with blocksize = 16384, maxtransfersize = 65536, buffercount = 100
--BACKUP DATABASE이(가) 536985개의 페이지를 64.417초 동안 처리했습니다(68.289MB/초).
--with blocksize = 16384, maxtransfersize = 65536, buffercount = 200
--BACKUP DATABASE이(가) 536985개의 페이지를 64.157초 동안 처리했습니다(68.565MB/초).
BACKUP DATABASE sample
TO DISK='\\1.1.1.10\d$\sample1.bak',
DISK='\\1.1.1.10\e$\sample2.bak2',
DISK='\\1.1.1.10\f$\sample3.bak',
disk='\\1.1.1.10\g$\sample4.bak'
with blocksize = 16384, maxtransfersize = 65536, buffercount = 200
--BACKUP DATABASE이(가) 536985개의 페이지를 57.390초 동안 처리했습니다(76.650MB/초).
BACKUP DATABASE sample
TO DISK='\\1.1.1.10\d$\sample1.bak',
DISK='\\1.1.1.10\e$\sample2.bak2',
DISK='\\1.1.1.10\f$\sample3.bak',
disk='\\1.1.1.10\g$\sample4.bak',
disk='\\1.1.1.10\h$\sample5.bak',
disk='\\1.1.1.10\i$\sample6.bak',
disk='\\1.1.1.10\j$\sample7.bak'
with blocksize = 16384, maxtransfersize = 65536, buffercount = 200
/*
파일 1에서 데이터베이스 'sample', 파일 'sample_Data'에 대해 268480개의 페이지를 처리했습니다 .
파일 1에서 데이터베이스 'sample', 파일 'sample_Data1'에 대해 268504개의 페이지를 처리했습니다 .
파일 1에서 데이터베이스 'sample', 파일 'sample_Log'에 대해 1개의 페이지를 처리했습니다 .
BACKUP DATABASE이(가) 536985개의 페이지를 44.453초 동안 처리했습니다(98.958MB/초).
*/