win2008 R2 및 sql2005, 2008에서 ASP를 실행할 때 느린 속도에 대한 솔루션에 대한 자세한 설명

黄舟
풀어 주다: 2017-05-31 10:35:23
원래의
2108명이 탐색했습니다.

이 글에서는 주로 Win2008 R2와 SQL 2008을 asp 실행할 때 속도가 느려지는 것에 대한 해결책을 소개합니다. 도움이 필요한 친구들은 참고하시면 됩니다.

SQL Server 2005 데이터베이스를 배경으로 하는 ASP 웹사이트의 접속 속도가 느린 상황입니다. 한 서버에 두 개의 ASP 웹사이트가 있는데, 하나는 매우 빠르게 액세스되고 다른 하나는 매우 느립니다.

문제 해결을 위한 생각과 단계:

먼저 내 컴퓨터에서 이 두 웹사이트를 차례로 엽니다. 하나는 2~3초 안에 열리고, 다른 하나는 10초가 걸립니다. 문제는 사실인 것 같습니다.

서버에 로그인하고 서버의 로컬 IIS에서 두 웹사이트를 엽니다. 결과적으로 하나는 더 빠르고 다른 하나는 DNS 확인 시간의 영향을 받지 않습니다. 네트워크

두 개의 웹사이트 프로그램을 엽니다. 홈페이지 ASP 파일에서 빠르게 액세스하는 웹사이트에는 데이터베이스 query가 없고, 느리게 액세스하는 웹사이트에서는 데이터베이스를 쿼리하는 것으로 나타났습니다. 프로그램의 데이터베이스 쿼리 문도 매우 간단하므로 프로그램 및 데이터베이스 쿼리 문에 대한 문제가 제거되고 문제는 마침내 데이터베이스 SQL Server에 위치합니다.

Open SQL Server 2005에는 데이터베이스가 하나만 있습니다. , 그리고 SQL Server Management Studio에서 부담없이 실행합니다. 두 개의 복잡한 쿼리 문을 해결하며 매우 빠르며 데이터베이스 쿼리 속도의 문제처럼 느껴지지 않습니다.

시스템 CPU 및 메모리 부하가 높지 않습니다. 정말 이유를 찾을 수 없습니다. 명령 프롬프트를 열고 netstat-ano를 사용하여 네트워크 연결을 확인하세요. sqlserver의 1434 포트만 Listen하고 있는 것으로 확인되었는데, sqlserver의 1433 포트는 Listen하고 연결하지 않는 것으로 나타났습니다. 그런데 모니터링이나 연결이 없는데 왜 웹사이트에 접근할 수 있었을까요? sqlserver가 수신 포트를 수정했는지 궁금합니다.

SQL Server 2005의 SQL Server 구성 관리자 SQL Server 2005 네트워크 구성->MSSQLSERVER의 프로토콜->TCP/IP를 열어보니 TCP/IP가 비활성화되어 있고 프로토콜에서 공유 메모리만 활성화되어 있는 것을 확인했습니다. Properties에 설정된 수신 포트는 기본 1433입니다. 따라서 TCP/IP가 활성화됩니다. SQL Server 서비스를 다시 시작한 후 웹 사이트를 여는 속도가 매우 빠릅니다.

드디어 문제가 해결되었습니다. 그 이유는 SQL Server의 TCP/IP 프로토콜이 켜져 있지 않고 공유 메모리를 사용하여 데이터베이스에 연결하므로 웹 사이트 액세스가 매우 느리기 때문입니다.

다음은 다른 네티즌들의 보완 방법입니다.

최근 WEB 서버 하드디스크에 장애가 발생하여 10년 동안 운영하던 서버로 인해 WEB 서비스를 새 서버로 교체했으나 다양한 문제가 발생했습니다. 마이그레이션 후 문제점과 해결 방법을 정리하겠습니다.

Windows2003+asp+sqlserver2000 새로운 WEB 서버:

Windows2008R2+asp+SQL Server2008
로그인 후 복사

웹사이트와 데이터베이스를 모두 마이그레이션한 후 홈페이지, 콘텐츠 페이지, 백엔드는 정상적으로 열렸으나, 파일이 서명된 것으로 나타났습니다. 페이지가 매우 느리게 열리고 가끔 열리지 않습니다.

코드를 확인해 보니 모든 것이 정상인데 이유를 찾을 수 없었습니다. 데이터베이스를 쿼리할 때 문제가 있는 것 같았습니다. 그러다가 Baidu에서 검색해 보니 데이터베이스가 메모리 공유 연결 모드를 사용하고 있는 것을 발견하여 변경했습니다. 데이터베이스를 TCP 연결 모드로 전환하면 이제 열 수 있지만 여전히 약 5-8초 정도 걸립니다.

인터넷에서 계속해서 해결책을 찾았는데, 여러 가지 방법을 시도해 봤더니 데이터베이스가 닫히지 않는다고 하더군요. 그 이유는 데이터베이스 연결 설명을 단 몇 문장으로 해결하는 데 도움이 되었기 때문입니다. 틀렸습니다.


원본 연결문은

Provider=Sqloledb;User ID=数据库帐号;Password=数据库密码;InitialCatalog=数据库名;Data Source=数据库IP;
로그인 후 복사
원래 서버에서는 문제가 없으나, 새로운 서버 환경에서는 동작하지 않습니다.

해결 방법은 연결 문을 다음으로 바꾸는 것입니다.

Driver={SQL SERVER};Server=数据库IP;UID=数据库帐号;PWD=数据库密码;Database=数据库名;
로그인 후 복사

위 내용은 win2008 R2 및 sql2005, 2008에서 ASP를 실행할 때 느린 속도에 대한 솔루션에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
asp
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!