2012-03-27 4 views
0

나는이 질문을 전에까지 물어 봤고 100 % 해결하지 못했습니다. A search aspx page return slow 링크를 참조하십시오. IIS 로그를 비활성화하지만 느리게로드되는 것 같습니다.aspx 페이지로드가 느림

asp.net 웹 사이트가 있는데 searchResult.aspx가 있으며 MS SQL 서버 데이터베이스에서 데이터를 검색하기 위해 SQL 스크립트를 실행 한 다음 데이터를 HTML 형식으로 저장하고 웹 사이트는 IIS7에 배포되었습니다. .5 서버. 정적 및 동적 압축을 모두 구현했기 때문에 모든 js, css 및 aspx 페이지가 브라우저에 렌더링되기 전에 압축되었습니다.

불행히도 searchResult.aspx는 매우 느립니다. 전기와 같이 큰 단어를 검색하는 경우 평균 10 초 이상 걸립니다. Firebug Net을 사용하여 차단, DNS 조회, 연결 및 전송 모두 10ms 이상 걸리지는 않지만 대기 시간은 10 초 이상 걸립니다. 그래서, 시작과 함수를 Page_Load (개체를 보낸 사람, EventArgs입니다 전자)의 끝 부분에 약간의 코드와도 HTML 본문 요소의 시작과 끝을 추가 다음과 같은 : 당신이 할 수있는

protected Stopwatch stopwatch = new Stopwatch(); 
protected void Page_Load(object sender, EventArgs e) 
{ 
    stopwatch.Start(); 
    .... 
    stopwatch.Stop(); 
    timeForSearch = stopwatch.Elapsed.Milliseconds; 
    } 


    <body> 
    <% 
    stopwatch.Reset(); 
    stopwatch.Start(); 
    %> 
    .... 
    <%stopwatch.Stop();%> 
    <%=timeForSearch%>+<%=stopwatch.Elapsed.Milliseconds%>=  <%=stopwatch.Elapsed.Milliseconds + timeForSearch%> 

enter image description here

OK 그림을 보면 하이라이트는 경과 된 밀린 초이지만 왜로드하는 데 4.8 초가 걸렸습니다.

도움이 될 것입니다.

+1

이 속도 저하가 데이터 액세스 논리와 관련이 없다고 확신합니까? – mamoo

+0

사용 된 SQL 조회를 표시하십시오. 또한 gridview 또는 다른 데이터 컨트롤을 사용하고 있습니까? – PraveenVenu

+0

SQL Server 프로파일 러를 사용합니까? – IrishChieftain

답변

1

좋아, 내가 왜 검색 페이지로드 천천히, 그냥 모든 우려 때문에, 그것은 SQL 스크립트 때문에, 내가 그걸 알아 차리지 못하는 이유는 코드 오류 때문에 그들이 Difference between ElapsedTicks, ElapsedMilliseconds, Elapsed.Milliseconds and Elapsed.TotalMilliseconds? (C#)에있는 사이

stopwatch.Elapsed.Milliseconds 

사실은 내가

stopwatch.ElapsedMilliseconds 

의 차이를 사용해야합니다. 그리고 마침내 내 Page_Load() 메서드는 검색 용어에 따라로드하는 데 5, 7 초 이상 걸리는 경우가 있음을 보여줍니다.

그래서 나는 SQL 스크립트를 향상시켜야 할 필요가있을 것이다. 어쨌든 모두들 고마워, 나는 당신의 염려에 감탄했습니다.

관련 문제