SharedIT | 묻고 답하기(AMP)

VB 프로그램이 갑자기 로딩시간이 증가됐습니다

안녕하세요 고수님들..

갑작스레 사내에서 쓰고 있던 프로그램이 사용이 불가할 정도로 로딩시간이 증가되었습니다.

수주를 입력하는 프로그램인데 VB으로 구현된것으로 보입니다.

기존 개발업체와도 연락이 안되는 상황인데 대략적인 짐작가는 이유라도 있으실지 해서 여쭤봅니다..

사내에 있는 DB서버와 연결되어 조회 및 입력하는거같고 현재 증상은 거래처 검색 시 2분정도 기다려야하고 수주를 입력하려면 3분정도 기다려야해서 실무가 불가하네요 ㅜ

또한 최초화면 조회시 2015년으로 날짜가 나오던데 그것도 이유가 있는지 모르겠습니다..

조언해주시면 감사하겠습니다. 

Tags : 태그가 없습니다.

11개의 답변이 있습니다.

deerokgo
  0 추천 | 10일 전

재부팅 한번 해보시죠.

그리고, 2015년으로 조회된다고 하셨는데요.

서버와 PC의 Time이 올바르게 되어 있는지도 체크 해보세요.

응답이 늦는 이유는 네트워크 문제가 가장 클 것으로 생각이 되고,

메모리나 CPU 점유하고 있는 사용하지 않는 프로세스가 남아 있을 수도 있습니다.

서버, DB 등 재부팅 해보시면 괜찮을거 같습니다. 

쿨가이
  0 추천 | 14일 전

소스수정이나 업데이트가 없었는데 갑자기 크게 느려졌다면 추정해 볼 수 있는 점은

1.물리적인 문제. 어플리케이션서버나 DBMS 서버 자체 물리적인(하드나. 네트워크) 문제 없는지 체크

2.DBMS 문제. DB종류를 모르나. 임시테이블이나. 로그, 캐쉬등 정리가 필요할 수 있습니다.

위 두가지가 전 의심됩니다

차바라기
  0 추천 | 15일 전

DB쪽 쿼리 조회 해보세요~아마도 CPU나 메모리를 잡아먹는 쿼리가 있을겁니다.

앵그리파파
  0 추천 | 15일 전

내용만으로 짐작한다면 단순히 한가지 문제만은 아닐 수 있겠다는 생각이 듭니다.

프로그램이 데이터 검색 및 입력을 위해 DB서버에 연결되어 있는 것으로 보이므로 DB 성능 저하가 주요 원인이 될 수 있습니다. CPU, 메모리, 디스크 I/O, 네트워크 사용량 등 DB 서버의 성능을 확인해보세요. 

고객을 검색하고 주문을 입력하기 위해 애플리케이션에서 사용하는 SQL 쿼리를 검토해보세요. 제대로 최적화되지 않는 쿼리나 누락된 인덱스 특히, 데이터 양이 증가함에 따라 성능 저라로 이어질 수 있습니다. DB 성능을 향상하려면 쿼리를 최적화하고 적절한 인덱스를 추가하는 것이 좋습니다.

그 외에 네트워크 연결도 성능에 영향을 미칠 수 있기 때문에 확인이 필요합니다.

마지막으로 최초화면 조회시 2015년으로 날짜가 나오는 것은 시스템이나 DB에서 현재 날짜를 검색하지 못하는 경우 애플리케이션 특정 날짜(2015년 ...)을 기본값으로 설정할 수 있습니다. 날짜가 처리되는 방식과 하드코딩퇸 기본값이 있는지 확인해보세요.


hitonari21
  0 추천 | 15일 전

DB서버와 통신에 로딩이 걸리는거 같은데...

집중근무시간 이후에 DB서버를 리부팅해보시길 바래요

왠만한 통신관련 이슈는 서버 리부팅으로 거의 해결되더라구요

에이스퐝
  0 추천 | 16일 전

제가봤을땐 DB 조회시 뭔가 문제가 있는걸로 보입니다.

VB에 있는 DB 쿼리를 확인 후에 직접 DB조회 했을 시 문제 없는지 확인 후에 VB 확인하는게 좋아 보입니다.

명동쓰레빠
  0 추천 | 16일 전

데이터 베이스 인덱스를 다시 설정 해보시고 어떤 조건으로 데이터를 호출 하는지 스크립트를 확인해 보시기 바랍니다.

2015년 부터 조회를 시도 하는걸로 보입니다.

전체 데이터 조회를 하면 아무래도 로딩이 걸리죠

topkslee
  0 추천 | 16일 전

다양한 원인이 있을 수 있어 단정해서 말씀드리기 어려울것 같은데요.

VB로 개발되어 있다면 C/S행태로 운영하는 것으로 보입니다.

Toad, SQLdeveloper와 같은 DB tool에서 VB프로그램에서 하는 것과 같이

데이터 select, insert 해보세요. 동일하게 느리다면 DB쪽 문제일 가능성이 높습니다.

DB문제라면, 간단하게 해볼 수 있는 부분은 DB 서버를 리부팅해보시고 다시 테스트 해보세요.

그래도 안된다면, DB쪽을 잘 모르시는 분이 보시긴 어려운 영역이라 DB엔지니어의 지원이 필요합니다.

 

 

Simon.Park
  0 추천 | 16일 전

두가지의 문제점을 추측해 볼 수 있겠는데요,

  • 통신의 문제 (프로그램 PC <-> DB서버)

  • DB 서버의 자체 문제

두가지 문제 가능성을 놓고 하나씩 체크해 보셔야 할 듯 합니다.

해당 프로그램이 설치된 PC를 DB서버와 동일한 Switch 에 연결해서 테스트 해 보면

중간의 어떤 통신상의 문제인지는 조금 더 쉽게 체크해 볼 수 있을 듯 싶네요.

wansoo
  0 추천 | 16일 전

다양한 가능성이 있겠고요.

유력한 가능성 중에...

사용하는 컴포넌트 중에 외부와 통신을 시도하는 경우가 있는데...

통신하려는 외부 컴퓨터와 통신이 되지 않아서 늦어질 가능성도 있습니다.

MS에서 제공하는 VB Component들 중에서도 실행되면서 MS의 특정 서버와 통신을 시도하는 것도 있더군요.

외부와 통신하려는 외부 사이트와 통신을 시도하면서 응답을 기다리다 지연이 생기는 경우도 있기 때문에...

프로그램 소스를 디버깅해 보면서 어느 부분에서 느려지는지, 느려지는 이유가 무엇인지 조사해 보면 원인을 파악하기가 좋겠는데...

소스가 없다거나 디버깅이 어려운 경우라면 네트워크 트래픽을 조사해 보면서 원인을 파악해 보면 원인을 찾을 수 있을 걸로 보여 지네요.

네트워크 트래픽 분석은 Wireshark를 이용하면 되겠고요.

와이어샤크를 이용해서 필터를 사용해서 해당 컴퓨터와 통신하는 트래픽만 대상으로 조사하는 것이 기본적으로 필요하겠고요.

예를 들어  ip.addr==ip주소  를 기본적으로 넣고  and 연산과 ! 연산 등을 사용해서 표시되지 않기를 바라는 대상들을 등록해서 제거하고 검토하도록 설정해서 보는게 좋겠고요.

해당 컴퓨터에서 통신을 요청을 한후에 응답을 받지 못하는 패킷과 해당 컴퓨터에서 요청한 후에 응답을 늦게 받는 패킷을 검토하면 원인이 나올 수 있을걸로생각되고요. 

요청은 있지만 응답을 받지 못하는 패킷일 경우라면 인터넷 차단이나 대상 호스트와 통신이 되지 않기 때문에 발생하는 문제가 되겠고...

응답이 늦게 올 경우에는 통신하려는 상대편 서버가 늦게 응답하는 이유를 확인해 봐야 원인을 찾을 수 있을것 같고요.


차니
  0 추천 | 16일 전

개발 프로그램 소스 보면 알수도 이겠지만

표시되는

날짜가 2015이면 일단 날짜 동기화부터 해보시죠.

검색이

오래 걸린다는 건 우선 인덱스 깨졌을 수도 있고 입력ㅎ하면이 오래 걸린다는 건 주키를

어떻게 설정했는지ㅡ모르지만 자동순번일때 오래 걸릴 수도..

소스보고 디버깅 하지

않는 이상 일단  디비 내렸다가 다시 올리고

데몬이 있다면 재실행 해보겠습니다