엄격하게 제어 세션
세션이 필요하지 않은 콘텐츠 (예 : 도움말 화면, 방문자 영역 등)는 세션을 닫는 독립형 ASP 응용 프로그램으로 이동할 수 있습니다. 기본 페이지에서 ASP에 세션이 필요하지 않도록 ASP에 명령을 내릴 수 있습니다. ASP 페이지의 헤드에 다음 코드를 직접 추가하십시오.
<%@enablesessionstate = false%>
캐시는 웹 서버에서 자주 사용하는 데이터를 자주 사용합니다
일반적으로 ASP 페이지는 백그라운드 스토리지에서 데이터를 검색 한 다음 하이퍼 텍스트 마크 업 언어 (HTML) 형태로 결과를 형성합니다. 데이터베이스의 속도에 관계없이 백그라운드 저장 장치보다 메모리에서 데이터를 검색하는 것이 훨씬 빠릅니다. 로컬 하드 드라이브의 데이터를 읽는 것도 일반적으로 매우 빠릅니다. 따라서 서버의 데이터를 메모리에 캐시하거나 로컬 하드 디스크로 캐싱함으로써 성능 향상을 달성 할 수 있습니다.
캐싱은 고전적인 "시간을위한 공간"타협입니다. 올바르게 캐시되면 성능이 상당히 높아질 수 있습니다. 캐시를 효과적으로 만들려면 캐시 된 데이터가 종종 재사용되고 계산하기가 번거 롭다는 것을 보장해야합니다. 오래된 데이터로 채워진 캐시는 메모리 낭비입니다.
자주 변경되지 않은 데이터는 언제든지 이러한 데이터를 업데이트 한 후 동기화 작업을 고려할 필요가 없기 때문에 캐시의 더 나은 객체입니다. 콤보 상자, 참조 테이블, DHTML 코드, 확장 마크 업 언어 문자열, 메뉴 및 사이트 구성 변수 (데이터 소스 이름, 인터넷 프로토콜 주소 IP 및 웹 경로 포함)는 모두 우수한 캐시 객체입니다. 참고 : 데이터 표현식은 데이터 자체 대신 캐시됩니다. ASP 페이지가 자주 변경되어 캐시에 고군분투하는 경우 (예 : 전체 제품 카탈로그와 같은) 요청이 발생할 때마다 설명하는 대신 사전 생성 HTML을 고려해야합니다.
캐시는 응용 프로그램 또는 세션 객체에서 자주 사용되는 데이터입니다
ASP의 응용 프로그램 및 세션 객체는 메모리의 캐시 데이터를위한 편리한 컨테이너입니다. HTTP 호출 중에 메모리에 남아있는 응용 프로그램 및 세션 객체에 데이터를 할당 할 수 있습니다. 세션의 데이터는 모든 사용자를위한 것이며 응용 프로그램의 데이터는 모든 사용자가 공유합니다.
응용 프로그램 및 세션에서 언제 데이터를로드해야합니까? 일반적으로 응용 프로그램이 시작되거나 세션이 시작될 때 데이터가로드됩니다. 현재 데이터를로드하려면 onstart () 또는 session onstart ()에 각각 적절한 코드를 추가하십시오. 이러한 기능은 Global.asa 파일에 있으며 존재하지 않으면 추가됩니다. 처음으로 필요한 경우 데이터를 호출 할 수도 있고 ASP 페이지에 코드를 추가하여 데이터가 있는지 확인하십시오. 발견되지 않으면 전화하십시오. 다음은 "게으른 평가"라는 고전적인 성능 처리 기술을 나타내는 예입니다. 필요할 때까지 계산으로 이동하십시오.
자주 사용되는 데이터를 스크립트 변수로 복사하십시오
ASP에서 COM 객체에 액세스 할 때 자주 사용한 객체 데이터를 스크립트 변수로 복사하여 COM 객체에 대한 메소드 호출이 줄어 듭니다. 이러한 통화는 스크립트 변수에 액세스하는 것보다 비교적 시간이 많이 걸리고 힘들다. 이 트릭을 사용하면 컬렉션 및 사전 개체에 액세스 할 때 고가의 조회 작업이 줄어 듭니다.
일반적으로 객체 데이터에 두 번 이상 액세스하려면 데이터를 스크립트 변수, 주로 요청 변수 (양식 및 쿼리 문자열 변수)에 넣어야합니다. 예를 들어, 사이트는 userId라는 쿼리 문자열 변수를 전달하려고합니다. 특수 페이지에서 12 번 참조 될 것이라고 가정하면 요청 ( "userID")을 12 번 호출 할 필요가 없습니다. ASP 페이지의 헤더에 userId를 할당 한 다음 페이지에 사용하면 COM 메소드에 11 개의 호출이 저장됩니다.