#title 옵션에 따른 백업 성능 테스트 [[TableOfContents]] 옵션에 따라서 백업 성능이 어떻게 변화하는지 테스트를 해보았다. 2000버전에는 blocksize라는 키워드가 문서화되어 있지만, maxtransfersize는 문서화되지 않은 옵션이다. 예전에 어떤 문서에서 인텔계열의 cpu는 i/o 단위가 4096byte라고 본 적이 있다. 그래서 그런지 blocksize가 4096byte일 경우가 가장 성능이 좋다. 결론적으로 ‘blocksize, maxtransfersize 옵션을 적절히 사용하면 약 10% 이상의 성능향상 효과 볼 수 있다’고 할 수 있겠다. 아래는 테스트 결과다. 참고로 CPU 2.4 GHz, RAM 2G, Disk 1개의 PC에서 테스트 했다. 주의할 것은 환경에 따라서 옵션을 적절히 조절해야 한다는 것이다. 여기 나오는 값들은 정답이 아니다. ==== 옵션 없음 ==== backup database sample to disk = 'f:\sample.bak' --BACKUP DATABASE이(가) 407185페이지를 45.081초(73.992MB/초)만에 처리했습니다. ==== 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/초)만에 처리했습니다. ==== 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/초)만에 처리했습니다. ==== 네트워크 백업 테스트 ==== 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/초). */