Si ssh en un servidor, el tiempo entre decir, emitir el comando ls y obtener el resultado es casi nada.
Sin embargo, si emito una solicitud http para una página html simple (que contiene solo la palabra 'hola') en el mismo servidor en el navegador, se tarda al menos un segundo.
¿Por qué es esto?
ssh
performance
http
Collierre
fuente
fuente
Respuestas:
No sé mucho sobre cómo funciona SSH, pero por lo que entiendo, básicamente toma la entrada del teclado y la canaliza hacia la consola de una consola remota. Bastante ligero una vez que se ha establecido la conexión y se han intercambiado las claves.
HTTP es un protocolo totalmente diferente. Funciona un poco así, asumiendo que es solo una página HTML estática:
Esa es una visión general muy básica, pero hay mucho más en HTTP. No es un protocolo "ligero", a diferencia de SSH.
Además, a diferencia de SSH, la mayoría de las solicitudes HTTP son autocontenidas y se restablecen sus conexiones TCP. SSH mantiene su sesión TCP abierta, lo que significa que cada vez que presiona una tecla, no tiene que restablecer la conexión. Es por eso que su navegador web puede sobrevivir al ser desconectado por unos minutos, pero en el momento en que pierde su conexión, su sesión de SSH se cae.
fuente
Estás comparando manzanas con naranjas.
El tiempo para descargar su página web de una sola palabra consiste principalmente en el tiempo necesario para configurar realmente la conexión: buscar el registro DNS del host, y luego establecer una conexión TCP con él, luego solicitar el documento.
Esto es más comparable al tiempo que le toma configurar una conexión ssh: buscar el registro DNS para el host y luego hacer una conexión TCP, luego autenticar, lo que en realidad es mucho más largo, ya que ssh es un protocolo mucho más complejo. (y tiene que configurar el cifrado).
El tiempo de respuesta interactivo en una sesión ssh se debe principalmente a la cantidad de latencia entre usted y el servidor remoto, una vez que se establece la conexión. No hay un análogo de uno a uno en HTTP, aunque HTTP tiene una opción de mantener viva que está activada de forma predeterminada y mantiene la conexión con el servidor abierta para que se puedan descargar múltiples recursos sin la sobrecarga de configurar el conexión de nuevo.
fuente
ls
sobre SSH.Acabo de programar una conexión SSH y un wget.
"Más rápido" es relativo.
fuente
No olvide que el SSH interactivo establece la opción TCP NODELAY de socket para reducir la latencia a expensas del ancho de banda utilizado, por lo que casi todas sus pulsaciones se envían al servidor de inmediato.
fuente