2009-07-16 4 views
10

가장 빠른 SQL Server 연결 프로토콜은 무엇입니까?가장 빠른 SQL Server 프로토콜?

관련 정보 : 어떤 프로토콜이 원격 또는 로컬 프로토콜을 사용할 수 있으며 이는 가장 빠른 프로토콜 선택에 영향을 줍니까?

+0

도 참조하십시오. [명명 된 파이프 란 무엇입니까?] (http://stackoverflow.com/questions/175579/what-are-named-pipes) – Vadzim

답변

14

VIA. 이것은 가장 빠른 SQL 프로토콜이며 전용 하드웨어에서 실행되며 SQL Server 벤치 마크 기록을 수행하는 데 사용됩니다. 는 VIA 프로토콜은 마이크로 소프트 를 사용되지 않으며 Microsoft SQL Server의 향후 버전에서 제거됩니다

참고. 그것은 그러나 SQL 서버에서 지원되는 2008 SQL 서버 2008 R2 및 SQL Server 2012

공유 메모리 성능으로 다음하지만, 그것은 단지 클라이언트와 실제로 메모리를 공유 할 수있는 서버 사이에 작동 , 그래서 로컬.

일반 하드웨어의 원격 연결을 위해서는 TCP이 좋습니다. 정상적인 작동에서는 Named Pipe와 동일한 성능을 보입니다. 네트워크 속도가 일정에, 그것은 사실 documented in MSDN, 견고성과 속도 NP를 능가하는 성능 : 명명 된 파이프를 들어

, 네트워크 통신은 일반적으로 더 상호 작용이다. 다른 피어가 읽기 명령을 사용하여 요청할 때까지 피어는 데이터 을 보내지 않습니다. 일반적으로 네트워크 읽기는 일 때 데이터를 읽기 전에 일련의 peek 명명 된 파이프 메시지를 읽습니다. 이들은 네트워크 속도가 매우 느려서 네트워크 트래픽이 초과되어 다른 네트워크 클라이언트에 영향을받습니다.

명명 된 파이프는 시간 초과를 연결하는 클라이언트로 이어질 수 :

TCP/IP 소켓은 백 로그를 큐를 지원합니다. 을 SQL Server에 연결하려고 할 때 파이프를 사용하면 파이프 바쁨이 발생할 수있는 파이프와 비교할 때 제한된 효과를 제공 할 수 있습니다.NP는 시도를 연결 건너 뜁니다

불행하게도 일반 클라이언트 구성이 처음 NP를 시도하고이 (tcp:servername를 통해 또는 연결 문자열에서) 클라이언트 네트워크 설정에서 TCP를 시행, (위에서 언급 한 이유로) 연결 문제가 발생할 수 있으며, TCP를 사용하여 훨씬 더 나은 환경을 경험할 수 있습니다.

위에서 언급 한 동일한 링크가 NP에서 방화벽의 SQL TCP 포트를 열 필요가 없다는 것을 나타내는 NP를 칭찬하기 위해 계속되지만, 나와 BOL이 다른 견해를 갖고있는 점은 사실입니다.

+2

Win 2000 또는 이전 MDAC에서 업그레이드 한 경우에만 NP가 우선 적용됩니다. 깨끗한 XP 빌드가 먼저 tcp를 가지고 있습니다. – gbn

+0

소스가 있습니까? 특히 공유 메모리가 가장 빠릅니다 (필자는 분명히 왜 그런지 알 수 있습니다). – PeterX

7

Shared memory is fastest for local (동일한 시스템의 클라이언트와 서버). 명명 된 파이프는 아마 로컬에 대해 금식입니다. 원격 사용자 모두가 TCP-IP를 사용하고 있으며 나머지 프로토콜은 네트워킹 기록으로 전환하고 있습니다.

+3

로컬에서는 "동일한 시스템에서 실행 중"이라고 가정합니다. 로컬 네트워크는 공유 메모리가 작동하는 방식이므로 – ichiban

+0

위와 같이 백업 할 원본이 있습니까? (왜 그렇게 될지 알 수 있습니다.) – PeterX

+0

@PeterX 스택 오버플로에 대한 다른 질문마다, 명명 된 파이프와 tcp-ip (동일한 시스템의 경우)는 속도면에서 거의 같습니다. https://stackoverflow.com/questions/10872557/how-slow-are-tcp-sockets-compared-to-named-pipes-on-windows-for-localhost-ipc – MatthewMartin

0

Using Shared Memory Protocol

설치 SQL 서버는 서버와 클라이언트 간의 통신의 속도에 영향을 미칠 수있을 때 사용자가 선택하는 네트워크 라이브러리. 세 가지 핵심 네트워크 라이브러리 중 TCP/IP가 가장 빠르며 다중 프로토콜이 가장 느립니다. 속도면에서 유리하기 때문에 서버와 클라이언트 모두에서 TCP/IP를 사용하고자 할 것입니다. 또한 불필요한 오버 헤드가 발생하기 때문에 서버에 사용되지 않는 네트워크 라이브러리를 설치하지 마십시오 **

0

명명 된 파이프는 가장 빠른 SQL Server 프로토콜입니다.

관련 문제