Este servidor HTTP simple contiene una llamada a time.Sleep() que hace que cada solicitud tome cinco segundos. Cuando intento cargar rápidamente varias pestañas en un navegador, es obvio que cada solicitud se pone en cola y se maneja secuencialmente. ¿Cómo puedo hacer que maneje solicitudes simultáneas?¿Por qué mi servidor web en golang no maneja las solicitudes simultáneas?
package main
import (
"fmt"
"net/http"
"time"
)
func serve(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Hello, world.")
time.Sleep(5 * time.Second)
}
func main() {
http.HandleFunc("/", serve)
http.ListenAndServe(":1234", nil)
}
En realidad, acabo de encontrar la respuesta a esto después de escribir la pregunta, y es muy sutil. Lo estoy publicando de todos modos, porque no pude encontrar la respuesta en Google. ¿Puedes ver lo que estoy haciendo mal?
¿Cuál es la respuesta que encontraste? –
El problema estaba en la forma en que lo probé. Los navegadores web limitan el número de conexiones que hacen a cualquier servidor, incluso entre pestañas. –
También es posible que desee utilizar jMeter para enviar solicitudes a su servidor –