Home | Print | Q/A | Guest | NewsLetter
Display context of search results Case-sensitive searching
Database System
Data Warehouse
Data Analysis
Operating System
Open Source
Enterprise Architecture
Software Engineering
Process
Working Smart

SQL Server
PostgreSQL
Oracle
DB2
Teradata
MySQL
Performance Tuning
Programming

Link
Philosophy
Tools
Misc
Who?
_
_
SideBar Edit

Contents

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/초).
*/

EditText|Print|FindPage|DeletePage|LikePages|http://www.databaser.net|last modified 2010-04-05 17:44:38