본문 바로가기

Programming/ASP .NET

ASP 웹 페이지 최적화

본 내용은 ASP .NET 2.0에 관련된 내용입니다.

1. 비컴파일 페이지 만들기
컴파일 할 필요가 없는 페이지에는 다음과 같은 코드를 삽입하여 컴파일러가 해당 페이지를 컴파일 하지 않게 하는 것이 좋다.

- 페이지 단위 적용
<%@ Page CompilationMode="Never" %>

- 어플리케이션 단위 적용
<configuration>
    <system.web>
        <pages compilationMode="Never" />
    </system.web>
</configuration>



2. 뷰 상태 사용 자제
PostBack을 하여도 상태 관리를 할 필요가 없는 서버 컨트롤들의 뷰 상태를 사용하지 않으면 네트워크 전송량을 줄여 성능 향상을 이룰 수 있다.

- 페이지 단위 적용
<%@ Page EnableViewState="false" %>

- 컨트롤 단위 적용
컨트롤 속성에서 EnableViewState 속성을 False로 변경


3. 서버 컨트롤 사용 자제
서버 컨트롤을 사용하지 않고 기본적인 HTML을 이용하여 구현할 수 있다면 서버측의 자원을 아낄 수가 있다.

예> 하이퍼링크

<a href  = "http://suemirr.airpoint.co.kr"> 알이의 블로그 </a>

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="http://suemirr.airpoint.co.kr> 알이의 블로그 </asp:HyperLink>

4. DB를 접근할 때는 상황에 맞게 DataSet과 DataReader를 사용한다.

- DataSet이 더 효율적인 경우
  . 여러 개의 데이터 소스로부터 가져온 데이터 테이블들을 다시 연관지어 재검색하는 경우
  . XML 웹 서비스를 사용하는 경우. DataSet 개체는 원격 클라이언트로 전달이 가능
  . 데이터 캐시에 데이터 소스로부터 가져온 데이터를 저장하여 성능 향상을 도모할 경우
  . 대량의 행 단위 처리가 필요한 경우(한 행을 처리 하는데 걸리는 시간때문에 계속 연결되어 있다면 성능이 저하됨)

- DataReader
  . 데이터 캐시에 저장할 필요가 없는 경우
  . 데이터 소스로부터 가져온 결과 집합이 너무 커서 메모리에 저장할 수 없는 경우,
  . 읽기전용인 상태로 빠르게 데이터에 접근해야 할 경우