게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

re: 반복문안에 쿼리 던지면 부하가 ..해결방법 없을까요?
작성자: 송원석
작성일시: 2005-05-09 08:08,  조회수: 2,968
지금 문제가 되는 부분은 단순하게 반복문에서 10 분전의 데이터를 여러차례 조회하는 부분이 아닌 것 같습니다. 차근차근 하나씩 짚어보도록 하겠습니다. ^_^

먼저 동작 양상을 살펴보면 CPU 의 점유율이 높아진 채로 실행되다가 스크립트 타임아웃이 난다는 것이데요. 이 결과 자체는 매우 당연한 것입니다. 즉 반복문이 실행되면 그 동안 CPU 의 점유율이 올라가는 것도 당연하고, 스크립트 타임아웃 제한값을 지날때까지 실행되면 오류가 발생하는 것도 당연한 것이죠. 그렇다면 문제가 무엇일까요? 정작 문제는 무엇 때문에 반복문이 그렇게 오래동안 돌고 있는냐는 점입니다. 이 반복문이 도는 기준은 10 분전의 데이터를 조회해오는 쿼리가 아니라 현재 데이터를 조회해오는 첫 번째 쿼리가 기준입니다. 따라서...
SQL = "SELECT * FROM Counter WHERE LEFT(Counter_RegName, 11) = '" & nowDate & "'"
위의 SQL 구문의 결과가 멏 건이냐에 좌우되는 것이죠. 이 쿼리의 결과가 100 건이면 루프문이 100 번 반복되면서 다시 100 번의 쿼리를 날릴 것이고, 10 건 이면 루프문이 10 번 반복되면서 다시 10 번의 쿼리를 날리겠죠. 그러나 문제는 만약 결과적으로 100 번정도 루프를 돈다고 하더라도 정상적인 상태라면 스크립트 타임아웃이 발생하기 전에 종료되는 것이 일반적인데, 지금과 같은 경우에는 그렇지 않고 뭔가 문제가 발생한다는 점입니다. 따라서 다음과 같은 경우들을 생각해 볼 수 있겠죠.
1. 첫 번째 쿼리의 결과 갯수가 정말로 많은 경우. 
    이 경우에는 달리 방법이 없겠죠. 스크립트 타임아웃의 값을 늘려주십시요.

2. 반복문의 조건 검사가 뭔가 잘못된 경우, 즉 무한 루프.
    구문을 다시 한 번 검사해보시기 바랍니다.

3. 반복문 내부에서 실행되는 코드 문제로 한 건, 한 건이 수행되는 시간이 긴 경우.
    구문을 다시 한 번 검사해보시기 바랍니다.

4. 네트워크 문제로 반복문 내부에서 실행되는 쿼리가 응답이 느린 경우. 
    네트워크 관리자에게 문의하십시요.
먼저 문제의 원인이 위의 경우들 중에서 혹은 또 다른 가능성 있는 경우들 중에서 정확하게 어떤 것인지를 파악하시고 작업을 처리하셔야 할 것 같습니다. 그리고 참고로 pRs 를 대상으로 Close() 메서드를 한 번 호출해보시기 바랍니다. ^_^

감사합니다.
IP 주소: 203.231.54.9
전체 1 건의 댓글이 존재합니다.

을지소문

성실한 답변에 감사드립니다..^^
2005-05-09 11:13
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 41 페이지입니다.
게시물
1,129

re: 고용량 파일 다운로드 과정에서..에러..

송원석

2005-05-13 4,597
1,128

디코딩 관련 질문입니다. ^^ [2]

오마르

2005-05-10 880
1,127

반복문안에 쿼리 던지면 부하가 ..해결방법 없을까요?

을지소문

2005-05-07 975

re: 반복문안에 쿼리 던지면 부하가 ..해결방법 없을까요? [1]

송원석

2005-05-09 2,968
1,125

re: 반복문안에 쿼리 던지면 부하가 ..해결방법 없을까요? [1]

고현석

2005-05-12 2,667
1,124

닫는 태그가 없을때 자동으로 닫아주려면...

궁굼

2005-05-06 795
1,123

re: 닫는 태그가 없을때 자동으로 닫아주려면...

송원석

2005-05-07 2,566
1,122

re: 닫는 태그가 없을때 자동으로 닫아주려면... [1]

궁굼

2005-05-09 755
1,121

re: B태그의 경우... [1]

궁굼

2005-05-13 683
1,120

re: 샘플입니다...

궁굼

2005-05-17 751
1,119

re: 샘플입니다...

송원석

2005-05-18 2,586
1,118

re: 샘플입니다... [2]

궁굼

2005-05-19 809
1,116

첨질문하는데요.^^ aps에서 하드웨어(cpu)을 알아낼수 있나요? [1]

준졸료

2005-05-06 2,620
1,115

파일큐브에서 첨자사용이 잘못...

을지소문

2005-05-04 3,281
1,114

re: 파일큐브에서 첨자사용이 잘못...

송원석

2005-05-04 2,900
1,113

웹하드 버그일까요? [1]

김혜진

2005-05-04 2,972
1,112

re: 웹하드 버그일까요? [1]

김혜진

2005-05-06 2,683
1,111

re: 웹하드 버그일까요? [1]

송원석

2005-05-06 2,641
1,110

Datepart("ww", date()) 값으로 몇월달 몇째주인지 알수 없나요? 주간매출때문에 ㅠ.ㅠ

김현수

2005-05-04 930
1,109

re: Datepart("ww", date()) 값으로 몇월달 몇째주인지 알수 없나요? 주간매출때문에 ㅠ.ㅠ

송원석

2005-05-04 2,887
1,108

주별 검색결과를 주단위로 품명별로 보여줄려는데.. 쿼리를 어떻게...

김현수

2005-05-03 855
1,107

re: 주별 검색결과를 주단위로 품명별로 보여줄려는데.. 쿼리를 어떻게... [1]

송원석

2005-05-03 2,999
1,106

PostData 를 가져오는것에 대한 질문 다시요...

구나구나

2005-05-03 2,838
1,105

re: PostData 를 가져오는것에 대한 질문 다시요... [1]

송원석

2005-05-03 2,757
1,104

특정월을 지정하면 이전 6주간의 주간별 매출정보를...

강수민

2005-05-02 878