2009-07-16 16 views
10

¿Cuál es el protocolo de conexión de SQL Server más rápido?El protocolo más rápido de SQL Server?

Relacionado: ¿qué protocolos están disponibles a distancia frente a locales, y eso afecta la elección del protocolo más rápido?

+0

Consulte también [¿Qué son las tuberías con nombre?] (Http://stackoverflow.com/questions/175579/what-are-named-pipes) – Vadzim

Respuesta

14

VIA. Este es el protocolo SQL más rápido, se ejecuta en hardware dedicado y se utiliza para realizar registros comparativos de SQL Server.

Tenga en cuenta que el protocolo VIA está en desuso por Microsoft, y se quitará en una versión futura de Microsoft SQL Server. Sin embargo, se admite en SQL Server 2008, SQL Server 2008 R2 y SQL Server 2012.

memoria compartida está al lado como el rendimiento, pero sólo funciona entre un cliente y un servidor que realmente pueden compartir memoria , tan solo local.

Para la conectividad remota en hardware ordinario, TCP es el camino a seguir. En operaciones normales, tiene el mismo rendimiento que Canalizaciones con nombre. En redes lentas o muy transitadas, que supera a NP en robustez y velocidad, un hecho documented in MSDN:

Para canalizaciones con nombre, red de comunicaciones son típicamente más interactiva. Un par no envía los datos hasta que otro par lo solicite usando un comando de lectura . Una red leída generalmente implica una serie de mensajes con el nombre de tubos con picos antes de que comience a leer los datos . Estos pueden ser muy costosos en una red lenta y causar un tráfico de red excesivo , que a su vez afecta a otros clientes de red.

canalizaciones con nombre también puede conducir a conectar los tiempos de espera del cliente:

sockets TCP/IP también el apoyo de un atraso cola. Esto puede proporcionar un efecto de suavizado limitado de en comparación con los tubos con nombre que podrían provocar errores con ocupado por la tubería al intentar conectar a SQL Server.

Desafortunadamente la configuración normal cliente intenta NP primero y esto puede causar problemas de conectividad (por las razones citadas anteriormente), donde hacer cumplir TCP en configuración de red del cliente (o en la cadena de conexión, a través de tcp:servername) Salta la NP conectar intento y va directamente a TCP para una experiencia mucho mejor bajo carga.

Ahora es cierto que el mismo enlace que cité anteriormente felicita a NP por su fácil configuración, muy probablemente refiriéndose a la necesidad de abrir el puerto SQL TCP en el firewall, pero es ahí donde yo y BOL tenemos diferentes vistas.

+2

NP primero solo si actualizó desde Win 2000 o MDAC anteriores. Una compilación limpia de XP tiene primero tcp. – gbn

+0

¿Hay alguna fuente para esto? La memoria específicamente compartida es la más rápida (obviamente puedo ver por qué sería). – PeterX

7

Shared memory is fastest for local (cliente y servidor en la misma máquina). Las tuberías con nombre probablemente estén en segundo ayuno para locales. Para el control remoto, todos están usando TCP-IP y los protocolos restantes están convirtiéndose en el historial de redes.

+3

Supongo que por local quiere decir "ejecutar en la misma máquina", no una red local ya que así es como funciona la memoria compartida. – ichiban

+0

Según lo anterior, ¿tiene una fuente para respaldar esto? (Puedo ver por qué sería). – PeterX

+0

@PeterX Por otras preguntas sobre el desbordamiento de la pila, named pipes y tcp-ip (para la misma máquina) parecen ser aproximadamente iguales para la velocidad. 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

Las bibliotecas de la red que elija al instalar SQL Server puede afectar a la velocidad de las comunicaciones entre el servidor y sus clientes. De las tres bibliotecas de red clave, TCP/IP es la más rápida y Multi-Protocol es la más lenta. Debido a la ventaja de la velocidad, querrá usar TCP/IP tanto en sus servidores como en sus clientes. Además, no instale bibliotecas de red no utilizadas en el servidor, ya que solo contribuyen con una sobrecarga innecesaria **

0

Named Pipes es el protocolo más rápido de SQL Server.

Cuestiones relacionadas