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

IBSurgeon 라이브러리

애플리케이션 쿼리 테스트 ("Migration Guide To Firebird 3"에서 발췌)

이 글은 Carlos Cantu의 " Firebird 3로의 마이그레이션 가이드" 책에서 발췌한 내용입니다.

Firebird 버전을 변경하면 기존 쿼리에 문제가 발생할 수 있습니다. 새로 예약된 단어나 이전에 허용되었던 잘못된 SQL을 사용하는 쿼리는 성능 저하부터 완전한 실패까지 다양한 문제를 일으킬 수 있습니다.

애플리케이션에는 화면 정보 탐색부터 보고서 생성, 데이터 입력 및 검증에 이르기까지 수백 개의 쿼리가 포함되는 경우가 많습니다. 외부 스크립트와 SQL 쿼리를 즉석에서 생성하는 쿼리 생성기도 있을 수 있으므로, 애플리케이션 소스를 철저히 검사하더라도 모든 SQL 쿼리 조합을 확인하는 것은 불가능합니다.

IBSurgeon의 HQbird FBScanner는 기존 애플리케이션이 Firebird 3에서 작동하는지 확인하고, 마이그레이션 중인 애플리케이션의 SQL 쿼리에 오류나 지연이 있는지 찾아내는 데 도움이 되는 도구입니다. FBScanner는 Firebird 서버를 모니터링하고 최적화하는 분석 도구 패키지인 HQbird Standard의 일부입니다. 현재 Firebird 버전에서 쿼리를 기록하고 새 Firebird 서버에서 테스트할 수 있습니다.

FBScanner는 클라이언트와 서버 사이에서 프록시로 작동하여 연결, 트랜잭션, SQL 문 텍스트, 페치 수, SQL 계획, 오류, 쿼리 준비 및 실행 시간 등 모든 통신을 기록합니다.

현재 Firebird 버전을 사용하면서 FBScanner를 설치하고, 통신을 모니터링하고 쿼리를 로그 데이터베이스에 저장하도록 구성할 수 있습니다. 가장 일반적인 구성은 FBScanner를 동일한 서버의 포트 3050에 설치하고 Firebird 포트를 다른 값(예: 3053)으로 변경하는 것입니다. 이 경우 기존 Firebird 애플리케이션은 연결 문자열을 변경하지 않고도 서버의 데이터베이스와 계속 작동합니다:

또한, FBScanner를 타사 컴퓨터에 설정하고 일부 클라이언트만 FBScanner를 통해 라우팅하여 해당 클라이언트의 통신만 캡처할 수도 있습니다.

며칠간 모니터링한 후 로그 데이터베이스에는 애플리케이션에서 사용된 많은 수의 쿼리가 포함됩니다. 이상적으로는 시간 및 실행 세부 정보와 함께 데이터베이스의 모든 SQL 활동을 포함해야 합니다:

FBScanner를 사용하면 기록된 쿼리를 실행할 수 있습니다. 로그 데이터베이스를 사용하여 테스트용 Firebird 3 서버를 설정하고, 원본 데이터베이스를 해당 서버에 복원한 다음, FBScanner Log Analyzer를 사용하여 기록된 쿼리를 실행할 수 있습니다.

FBScanner는 성능 정보를 포함한 결과를 그리드에 표시하므로 현재 실행 시간을 이전 서버에서의 결과와 비교하고, 이전 PLAN을 새 PLAN과 비교할 수 있습니다.

그리드의 정보는 Excel 스프레드시트로 내보낼 수 있습니다.

쿼리 실행 시간을 비교할 때는 외부 요인이 결과에 영향을 미친다는 점을 명심하세요. 운영 체제나 Firebird의 캐시가 “차가운” 상태인지 “뜨거운” 상태인지도 고려해야 합니다. 당연히 대부분의 정보가 이미 캐시된 상태에서 수행되는 쿼리는 디스크에서 데이터를 검색할 때보다 빠릅니다.

_ " Migration Guide To Firebird 3" 전체 버전을 여기서 구매할 수 있습니다._

FBScanner가 포함된 HQbird Standard는 여기서 구매할 수 있습니다. “Migration Guide To Firebird 3"를 구매하신 분께는 HQbird Standard 10% 할인을 제공합니다. 할인 쿠폰 코드를 받으려면 문의해 주세요.

IBSurgeon은 또한 포괄적인 " Firebird 마이그레이션 서비스“를 제공합니다. 복잡한 저장 프로시저, 쿼리 및 기타 로직이 포함된 데이터베이스를 초기 Firebird 버전(1.0, 2.0, 2.1, 2.5)에서 최신 버전(2.5, 3.0 또는 4.0)으로 마이그레이션하는 데 도움을 드릴 수 있습니다.