2012-12-08 3 views
0

서버 'A'라고하는 한 서버에서 SQL Server 데이터베이스와 작동하는 asp.net 웹 응용 프로그램이 있습니다. 우리의 MAN 네트워크에서 응용 프로그램 속도가 좋다하나의 데이터베이스를 사용하는 동일한 asp.net 응용 프로그램 간의 속도 차이

웹 응용 프로그램을 서버 'A'의 데이터베이스를 사용하는 다른 서버 (서버 'B')에 게시합니다.

서버 'B'에서 응용 프로그램을 호출 할 때 속도가 매우 느립니다.

네트워크는 문제가 없습니다 내가 서버 서버 'B'에서 'A'응용 프로그램을 호출 할 때 우리는 어떤 감속

absoultely 동일하고 내가

하나의 데이터베이스를 사용하는 두 웹 응용 프로그램이없는 정말 혼란스러워. 이유는 무엇입니까?

아무도 도와 줄 수 있습니까?

+0

데이터베이스에서 응용 프로그램으로 많은 양의 데이터를 전송합니까? 별도의 서버에있을 때 속도가 훨씬 느립니다. – TomTom

답변

0

모든 방화벽에서 방화벽을 사용하지는 않지만 변경 사항은 보이지 않습니다. 그러나 Windows FireWall로 이동하면 고급 탭의 네트워크 연결 설정 섹션 (Windows Server 2003의 경우)에서 모든 연결을 선택 취소하십시오.

내 속도 문제가 해결되었습니다.

0

여기서 중요한 역할을하는 다양한 요소가 있습니다. 당신이 데이터베이스를 호스팅하는 것과 동일한 서버에서 asp.net 응용 프로그램을 실행할 때

  • 는, 기회 더 그 SQL 서버 연결 중 "명명 된 파이프"또는 "공유 메모리"를 통해입니다 있습니다. 이것들은 모두 tcp ip와 비교하여 서버와 통신하는 매우 빠른 방법입니다. 다른 서버에서 asp.net 응용 프로그램을 호스트하면 통신을 위해 tcp-ip를 사용해야합니다.

  • 네트워크는 양호 할 수 있지만 네트워크의 프레임 크기 및 MSS와 같은 다른 요소도 확인해야합니다. 프레임 크기가 커지면 SQL Server는 사용 가능한 전체 속도를 효과적으로 사용할 수 있습니다. 네트워크에 연결된 스위치 및 라우터와 같은 장치도 중요한 역할을합니다.

  • 나는 무엇보다 귀하의 응용 프로그램이 부적절한 아키텍처를 사용하고 있거나 잘못된 방법을 사용하고 있는지 의심 스럽습니다. 예 : 목록 제품을 원할 경우 db에서 모든 제품을 가져오고 결과를 잘못된 페이지 인 특정 페이지로 필터링하도록 쿼리를 만들 수 있습니다. 이상적으로 쿼리는 표시하려는 레코드 만 가져와야합니다. 독자 대신 데이터 어댑터를 사용하면 전체 내용을 읽고 메모리 내 테이블을 만들려고 할 때도 같은 문제가 발생합니다.

+0

나는 서버 B에서 하나의 SQL 서버에 연결된 각 Applicatin의 복사본을 서버 B에 여러 개 가지고 있지만 일부 응용 프로그램에서는이 문제가 보이고 다른 문제에서는 문제가 없습니다. –

관련 문제