이 페이지는 기계 번역되었습니다. 영어 원본을 읽어보세요. English

IBSurgeon 라이브러리

백업을 통한 디스크 속도 빠른 추정

Dmitry Kuzmenko, 30.05.2019, ib-aid.com

기술 지원팀은 주기적으로 포럼에서도 제기되는 질문을 받습니다 - “디스크가 느린 것 같은데, 어떻게 확인할 수 있나요?”

이 질문은 대부분 DBA가 디스크 하위 시스템 설정에 접근할 수 없거나 그 특성을 알지 못하는 가상 머신 사용자들이 합니다.

물론 디스크 속도는 간단한 CrystalDiskMark부터 더 복잡한 IOMeter까지 다양한 도구로 측정할 수 있습니다. 하지만 가장 정확한 결과는 애플리케이션이 디스크를 사용하지 않을 때 얻을 수 있습니다. 그렇지 않으면 결과가 달라질 수 있으며, 높은 부하 상태에서 테스트하면 시스템 성능이 저하될 수 있습니다.

또한 시스템 관리자가 타사 소프트웨어 설치를 금지할 수도 있습니다(짧은 기간이라도).

하지만 일반적으로 모든 시스템에서 백업은 수행됩니다(VM 레벨 백업 소프트웨어를 사용하여 Firebird를 백업하는 시스템은 제외 - 이는 잘못된 방법입니다. “데이터베이스 백업 시 흔한 12가지 실수“의 #11 참조).

백업(gbak -b -g)은 데이터베이스에서 모든 데이터를 읽고 이 데이터를 백업 파일에 (순차적으로) 쓰는 것입니다. 읽기/쓰기 작업의 관점에서 보면 임의 읽기와 순차 쓰기의 조합입니다.

백업 파일은 일반적으로 데이터베이스 크기의 60%~70%입니다. 그리고 버전 관리와 데이터베이스의 페이지 구조 때문에 읽기가 쓰기보다 더 많습니다.

백업 파일은 일반적으로 다른 물리적 드라이브에 배치되므로 전체 백업 속도는 데이터베이스의 임의 읽기 속도와 백업 드라이브의 순차 쓰기 속도에 따라 달라집니다. 물론 데이터베이스를 HDD에 두고 SSD로 백업할 수도 있지만 이는 매우 비효율적이므로, 백업 드라이브 속도가 데이터베이스 드라이브 속도와 거의 같다고 가정합니다(훨씬 빠르거나 느리지 않다고).

속도 평가를 단순화하기 위해 백업 파일 크기만 취하여 백업 시간으로 나누었습니다. 결과는 “초당 메가바이트"로 표시됩니다. 하지만 얻은 값을 다른 시스템과 비교하여 평가하려면 일종의 기준 측정이 필요합니다.

기준으로 일반 데스크톱 컴퓨터를 사용했습니다. SATA3 HDD 2개로 구성된 RAID1에 데이터베이스를 두고, 별도의 SATA3 HDD로 백업하는 구성입니다(이 RAID1의 순차 읽기 속도는 약 180MB/초, 백업 HDD는 약 150MB/초).

여기서 31GB 데이터베이스의 백업은 21GB 크기이며, 단일 사용자 모드(해당 컴퓨터에서 아무도 작업하지 않음)에서 백업하는 데 18분이 걸리며, 백업 속도는 초당 19MB입니다.

이것은 강력한 서버가 아니라 단지 데스크톱(2~3년 전에 조립된)이므로 이 백업 속도를 기준으로 사용할 수 있으며, 정상적이고 어쩌면 운영 시스템에 허용되는 최소값으로 간주할 수 있습니다.

다음으로, 당사 지원 관리 하에 있는 30개 서버의 백업 속도를 분석했습니다. 백업 파일 크기가 5GB 이상인 시스템입니다.

성능 속도, MB/초 설명 및 예시

| 빠름 | 50-70 | 38150GB 백업이 있는 일부 시스템이 있었습니다. 124GB 데이터베이스를 42분 만에 백업 - 빠릅니다. | | 평균 | 20-50 | 여기서 평균 속도는 약 3040분 동안 80GB입니다. 이는 정상이며, 우리 데스크톱도 여기에 해당하는 결과를 보여줍니다. | | 느림 | 10-20 | 11시간 동안 463GB, 2시간 동안 80GB, 5시간 동안 293GB - 느립니다. 테스트 데스크톱보다도 느립니다. | | 매우 느림 | 10 미만 | 1시간 동안 8.5GB와 같은 경우입니다. 매우 느립니다. |

일부 조사 대상 시스템에서는 서버 부하가 전혀 없는 상태에서 백업이 수행되지 않는다는 것은 분명합니다. 하지만 어떤 경우든 서버 부하가 최소인 상태에서 수행됩니다.

낮은 부하가 백업 속도에 얼마나 영향을 미칠 수 있는지 알아보기 위해 동일한 데스크톱에서 2개의 동시 백업을 실행했습니다. 둘 다 19분이 걸렸고 속도는 초당 18MB였습니다. 이는 단일 사용자 백업의 93%로, 단일 HDD의 경우 그리 큰 차이가 아닙니다(7% 저하). SSD를 사용한다면 동시에 3~4개의 백업을 실행해도 차이를 느끼지 못할 수 있습니다.

일반적으로 백업 속도가 초당 20MB 이하이면 우려할 만한 원인이 될 수 있습니다.

이 경우 백업 디스크가 너무 느리거나, 백업이 가능한 한 빨리 수행되어야 하는데 그렇지 못한 것입니다. 또는 데이터베이스 디스크가 너무 느려서 전체 시스템 성능이 필요한 것보다 나쁜 것입니다.

백업 속도를 높이는 방법

많은 사람들이 gbak을 최대 속도로 사용하지 않습니다. 때로는 단일 스위치 -se service_mgr을 사용하여 Firebird 엔진 내부의 서비스 매니저를 활용함으로써 백업 속도를 높일 수 있습니다.

빠른 백업을 위한 권장 명령줄은 Firebird 2.5와 Firebird 3.0 모두 다음과 같습니다:

gbak -se localhost:service_mgr -b -g -user USERNAME -pass password Disk:\Path\Database.fdb Disk:\Path\backup.fbk

전반적인 성능에 관한 더 많은 팁과 요령: