본문 바로가기
IT-개발,DB

[개발/파워빌더] 컴파일 실행과 어플리케이션 실행시 속도차이 문제

by SB리치퍼슨 2010. 7. 8.
파워빌더에서 DEBUG나 RUN을 모드에서 실행시의 속도와
Deploy를 통한 어플리케이션 모드에서 실행시의 속도가 다른 경우가 발생하는데
여기에 대한 질문과 답변예를 살펴보자.


질문1)

10.0으로 파워빌더를 업그레이드 하기 전에 트라이얼 버전으로 문제가 없는지 체크를 하고 있습니다. 저희 시스템이 기존에 7.0으로 개발이 되어있는 상태였는데요 pb 9버전으로 마이그레이션 후 pb10.0으로 마이그레이션 하고 테스트를 진행 했습니다. 마이그레이션은 에러없이 정상적으로 되었구요.. 소스에서 실행 했을때 문제 없이 작동도 잘 됩니다. 그런데 문제는 컴파일을 했을때 인데요.. 프로그램을 실행후에 Window가 Open되는데 25초 이상이 걸립니다. 그 후에도 프로그램의 실행 속도가 엄청나게 느려지고 프로그램의 기능도 소스에서와 다르게 작동을 합니다. 이런 현상을 글로써 설명하기가 굉장히 힘이 든데요. 소스로 테스트 했을때와 컴파일 후에 다르게 실행이 된다는것이 이상하구요. 7.0에서는 아무 문제없이 쓰던 소스 그대로 인데 이렇게 되는게 이상합니다. 그래서 pb 10.0이 문제 인가 해서 pb 9.0에서 컴파일을 했는데요 역시 마찬가지 현상이 나타납니다.

답변)

질문 내용을 보았을때 속도가 느려지는 것은  10으로 마이그레이션 해서 그런것이 아니라 라이브러리 리스트 구조상 무언가 잘못지정되어 있는 것이 있는게 아닌가 싶습니다. 예를 들어 실제 오픈 되는 윈도우가 있는 PBL가 이 윈도우가 참조하는 다른 오브젝트가 다른 PBL에 있는데 이 PBL경로가 다른 폴더에 있거나... 아니면 오픈되는 윈도우가 계승을 받은 윈도우 인데...조상 윈도우의 라이브러리 위치가 뒤에 있거나, 이런 부분을 조정을 해 보시기 바랍니다.


질문2)
파워빌더로 현재 어플리케이션을 개발중입니다.
현업에서 어플리케이션 실행 시 속도가 너무 느려 점검해본 결과 파워빌더에서 소스 실행시와 어플리케이션(실행파일)에서 실행 시에 DB 연결 속도 차이가 무려 10배 이상 나고 있습니다. 아직 데이터 건수가 많지 않아 조회 시 속도가 느린지는 확인되지 않고 있습니다.
이런 현상이 일어나는 원인이 무엇이며, 해결책이 있는지 알고 싶습니다.
참고로 기타 인터넷 속도등은 전용망이기 때문에 잘 나오고 있습니다.
답변)
개발툴과 실행파일 사이에는 이미 로드된것을 이용하는것과 안하는것의 차이가 있습니다.
개발 툴에서 실행시 데이터베이스 연결은 물론 필요한 Object들이 이미 메모리에 로드되어 있어서 말씀하신 속도의 차이를 보일 수 있습니다.
하지만 이러한 속도는 실행 모듈에서 어플케이션이 실행되고 나면 조회에 있어서는 같은 속도를 유지 해야 됩니다.
만약 데이터 조회에 있어서도( DB 연결 후) 말씀하신 속도의 차이가 있으면 어딘가에 문제가 있다고 볼수 있습니다.
또한 어플리케이션 Open 시 과도한(사용하지 않는) 오브젝트를 로드한다든가 LIbrary Path 마지막에 있는 오브젝트를 로드하는 방법은 많은 시간을 소요할 수 있습니다. 그러므로 일반적으로 어플리케이션이 Open 시 사용되는 Object는 어플리케이션과 같은 PBL에 위치를 시키고, 실행 파일 만들때 이 pbl만 pbd Check를 빼서 속도를 최대화 하실 수 있습니다. 

 

반응형

댓글