2010-10-06 20 views
9

recibimos muchas solicitudes de googlebot.múltiples solicitudes HTTP GET en una conexión TCP/IP - procesadas en paralelo o secuenciales

googlebot solicita hasta 11 archivos a través de diferentes 11 petición HTTP GET, todo en un solo conexión TCP/IP.

son estas petición GET (todos en la misma conexión TCP/IP) procesado a través del servidor en

  • paralelo
  • o en secuencia?

¿O está en el servidor?

  • en este caso, ¿cómo nginx manejar esto?

THX por su ayuda

Respuesta

12

son estas petición GET (todos en la misma conexión TCP/IP) procesado a través del servidor en

paralelo o en secuencia?

Se procesa en secuencia. Se llama canalización. La canalización es parte de HTTP/1.1 y significa que el cliente no necesita esperar a que se complete la solicitud actual al antes de enviar la siguiente solicitud a través de una conexión persistente. Puede enviar varias solicitudes a través de la misma conexión sin esperar respuestas para solicitudes anteriores. Las solicitudes se procesan de manera FIFO, es decir, el cliente puede enviar varias solicitudes en secuencia, y el servidor debe enviar una respuesta a cada solicitud en el mismo orden en que se recibió la solicitud. Entonces, si el servidor que está utilizando en HTTP/1.1 cumple, entonces debe manejarse en secuencia.

4

la canalización HTTP pasa secuencialmente. No hay soporte para ningún tipo de entrelazado en HTTP.

Sin embargo, con la canalización, un servidor puede conocer todas las solicitudes antes de que se realice el servicio de la última. En teoría, podría hacer las E/S necesarias en paralelo.

No parece que nginx haga eso, sin embargo.

+2

He realizado varias pruebas con el servidor web Apache y puedo confirmar que de hecho es secuencial: la solicitud lenta anticipada retrasará el procesamiento de las siguientes solicitudes más rápidas. –

Cuestiones relacionadas