다소 고전적인 asp/SQL Server 응용 프로그램에서 작업하고 있습니다. 몇 달 전에 새로운 기능이 추가되어 새 버전이 출시되었습니다. 매우 기초적인 일부 페이지는 무작위로 실행하는 데 오랜 시간이 걸립니다.일부 고전 ASP 페이지가 임의로 실행되는 데 오랜 시간이 걸리는 이유를 어떻게 알 수 있습니까?
몇 가지 단서 :
- 그것은 데이터베이스가되지 않습니다 : 내가 쿼리 프로파일 러를 실행할 때 내가 진단 도구, reqviewer 쇼를 IIS 실행하면, 어떤 오래 실행되는 쿼리
- 를 감지하지 않습니다 요청이 상태 "처리 중"입니다.
- 이것은 모든 페이지에서 발생할 수 있습니다.
- 쉽게 재현 할 수 없으며 완전히 무작위입니다.
- "매우 긴 시간"이라는 아이디어를 얻으려면 : 오늘 아침에 나는 페이지를 100 밀리 초 만에 클라이언트에 리턴해야 할 때 실행하는데 5 분 이상 걸렸습니다.
- 응용 프로그램은 파일 크기가 최대 2GB 인 다소 큰 업로드 및 다운로드를 처리 할 수 있습니다. 이것은 또한 SoftArtisan FileUp을 사용하는 고전적인 ASP 스크립트로 처리됩니다. 문제가 발생할 수 있다고 생각하지 마십시오, 우리는 지금 꽤 오랫동안 이러한 업로드를했습니다.
- 두 개의 서로 다른 서버에서 서로 다른 데이터 집합을 사용하여 문제가 발생했습니다. 하나는 SQL Server 2000으로 응용 프로그램을 실행하고 다른 하나는 SQL Server 2005를 실행합니다. 두 경우 모두 웹 서버는 IIS 6입니다.
어떤 문제인지 또는 그런 종류의 문제를 해결하는 방법에 대해 알고 싶습니다.
감사합니다.
세바스티안
편집 :
문제는 메모리 조각화에서왔다. 일부 ASP 페이지는 서버에서 파일을 다운로드하는 데 사용되었습니다. 파일 크기는 몇 킬로 비트에서 2GB 이상이 될 수 있습니다. 이러한 크기의 차이로 인해 메모리 조각화가 발생했습니다. asp 페이지는 실행에 꽤 많은 시간이 걸릴 수 있습니다 (사용자가 페이지를 다운로드 할 때 IIS에서 캐시에 넣은 시간을 뺀 값). 이는 신속하게 실행해야하는 서버 페이지의 표준이 아닙니다. 수 특정 풀에서 해당 ASP 페이지를 넣어 저를 허용
- 세션으로 단일 ASP 페이지에있는 모든 다운로드 로직을 넣어 :
이
내가 일을 개선하기 위해 무슨 짓 모든 너무 자주 메모리 조각화를
참조 :
- http://msdn.microsoft.com/en-us/library/aa366750(v=vs.85).aspx
- http://blogs.msdn.com/b/friis/archive/2008/10/14/fragmentation-m-moire-sous-iis-6.aspx은 (당신이 LFH에 설정하는 데 사용할 수있는 DLL이 존재하지만, 기사는 프랑스어입니다.지금 우리의 아름다운 언어를 배워야합니다!)
페이지 하위 집합에 대한 좋은 아이디어입니다. 사용자의 페이지 집합으로 범위를 좁히면 사용자에게 표시됩니다. 재생산의 문제점은 그것이 무작위 적이라는 것입니다. 당신은 잠시 동안 일할 것이고 갑자기 IIS가 몇 분 동안 매달린 것처럼 보입니다. 다른 브라우저 세션을 시작하면 똑같은 페이지로 이동하면 빠른 결과를 얻을 수 있습니다. 브라우저 OS 버전에만 해당되는 것은 아닙니다. 공개적입니다. 임의이거나 보이므로 복제 할 수 없습니다. –
규칙을 찾을 수 없습니다. 나는 마침내 2에서 IIS ans SQLServer를 리셋하는 작업을 설정했고, 그 트릭을 수행하는 것처럼 보입니다 ... 지금 당장은로드가 다시 나타날 때 증가 할 것이라고 가정합니다. 아마 다음 Microsoft PSS에 연락 할 것입니다 ... 좋은 리드 주셔서 감사! –