ASP.NET 데이터 바인딩 확장성 연구

ASP.NET 데이터 바인딩 확장성 연구
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 ASP.NET 웹 애플리케이션에서 데이터 바인딩 서버 컨트롤의 페이징·정렬 방식을 비교 실험한다. 자동 서버‑사이드 페이징, 데이터베이스‑사이드 페이징, 인덱스 유무, 클러스터형·비클러스터형 인덱스 차이를 평가한 결과, 저장 프로시저 기반 커스텀 페이징과 클러스터형 인덱스를 활용할 때 가장 큰 성능 향상이 나타났다.

상세 분석

ASP.NET은 기본 제공 서버 컨트롤을 이용해 빠르게 웹 페이지를 구성할 수 있지만, 대규모 다중 사용자 환경에서는 기본 구현이 병목이 된다. 논문은 이러한 병목을 해소하기 위해 네 가지 핵심 변수를 실험 설계에 포함시켰다. 첫째, 페이징과 정렬을 웹 서버에서 수행하는 자동 데이터 바인딩(ASP.NET GridView 등)과 데이터베이스 서버에서 수행하는 커스텀 페이징(Stored Procedure) 방식을 비교하였다. 둘째, 데이터베이스 컬럼에 인덱스를 적용했을 때와 적용하지 않았을 때의 차이를 측정했다. 셋째, 인덱스 유형을 클러스터형 인덱스와 비클러스터형 인덱스로 구분하여 I/O 비용과 검색 효율을 분석했다. 넷째, 실험 데이터셋 규모를 10만 레코드에서 1백만 레코드까지 확대해 확장성을 검증하였다. 실험 결과, 웹 서버에서 전체 레코드를 로드한 뒤 메모리 상에서 페이징·정렬을 수행하는 방식은 레코드 수가 증가함에 따라 응답 시간이 급격히 상승했다. 반면, 저장 프로시저를 이용해 데이터베이스 레벨에서 필요한 페이지만 추출하고 정렬하도록 하면 네트워크 전송량이 크게 감소하고, DBMS의 최적화된 실행 계획을 활용해 인덱스 스캔이 효율적으로 이루어져 응답 시간이 70% 이상 단축되었다. 특히, 클러스터형 인덱스를 사용한 경우 물리적 레코드 순서가 정렬된 상태이므로 페이지 범위 검색이 순차 I/O에 가깝게 동작해 비클러스터형 인덱스 대비 추가적인 15~20% 성능 향상이 관찰되었다. 인덱스가 없을 경우에는 전체 테이블 스캔이 발생해 어느 방식이든 성능이 크게 저하되었으며, 이는 인덱스 설계가 데이터 바인딩 성능 최적화의 전제 조건임을 강조한다. 또한, 커스텀 페이징 구현 시 매개변수화된 쿼리와 적절한 커넥션 풀링을 적용하면 서버 자원 사용률이 안정적으로 유지돼 다중 사용자 동시 접속 상황에서도 응답 지연이 최소화된다. 논문은 이러한 실험 결과를 토대로 대규모 ASP.NET 애플리케이션 개발 시 기본 서버 컨트롤에 의존하기보다, 데이터베이스 레이어에서 페이징·정렬 로직을 구현하고 클러스터형 인덱스를 설계하는 것이 가장 현실적인 성능 개선 전략임을 제시한다.


댓글 및 학술 토론

Loading comments...

의견 남기기