온라인 뉴스 포털을 구축하기 전에 저를 위해 잘 작동하지만 일부는 홈페이지가 조금 느린다고 말합니다. 내가 그것을 생각할 때 왜 그런지 알 수 있습니다.데이터 액세스 ASP.NET
사이트의 홈 페이지가 표시
- 헤드 라인
- 스팟 뉴스 제목과 같은 (서브 헤드 라인 사진과 함께
- 명소
- 대부분의 읽기 뉴스()
- 대부분의 댓글을 달았 뉴스 (제목으로)
- 각 뉴스 카테고리에서 5 개의 뉴스 제목 (예 : 스포츠, 경제, 지역, 건강 등 총 11 개) .)
이제 이들 각각은 db에 대한 별도의 쿼리입니다. 나는 테이블 어댑터 데이터 셋과 데이터 테이블 (표준 데이터 접근 시나리오)을 가지고 헤드 라인을 위해 테이블 어댑터에 의해 데이터 테이블을 반환하는 뉴스 클래스의 비즈니스 로직을 호출한다. 거기에서, 나는 컨트롤에 바인딩하는 것만으로 데이터 테이블을 사용한다. (대부분의 경우) 객체는 예를 들어 뉴스의리스트로 그것을 변환하고 거기서 그것을 소비한다.
위의 각 작업을 수행하면 문제가없는 것으로 보입니다. 적어도 엄청난 부하를주지는 않습니다. 그러나 더 나은 방법이 있는지 궁금하게 생각합니다.
예를 들어 위에서 설명한 프로젝트는 매우 역동적 인 웹 사이트입니다. 뉴스는 기관에서 24 시간 연속 도착하면 삽입됩니다. 이 경우 캐싱이 좋지 않을 수 있습니다. 그러나 다른 한편으로, 나는 지방 신문을위한 또 다른 비슷한 프로젝트를 알고있다. 사이트는 하루에 한 번만 업데이트됩니다. 이 경우 : 오늘 만 삽입 된 모든 뉴스 항목을 포함하는 데이터 테이블을 반환 한 쿼리를 실행 한 다음 해당 데이터 테이블을 쿼리하고 헤드 라인, 스팟 및 기타 항목을 사이트의 각 위치에 배치 할 수 있습니까? 아니면 주위에 더 좋은 대안이 있습니까? 나는 다른 사람들이 가장 효율적인 방법으로 비슷한 일을 어떻게 수행 하는지를 방황하고 있습니다.
+1 클라이언트 사이드 프로파일 링을 위해 파이어 버그와 YSlow를 사용합니다. – Anthony