这个简单的HTTP服务器包含对time.Sleep()的调用,这使得每个请求的 需要5秒钟。当我尝试在浏览器中快速加载多个 选项卡时,显然每个请求 都按顺序排队并处理。我怎样才能使它处理并发请求?为什么我的golang网络服务器没有处理并发请求?
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)
}
其实,我只是找到了答案,写这篇文章的问题后,这是非常微妙的。无论如何,我都会发布它,因为我无法在Google上找到答案。你能看到我做错了什么吗?
你发现了什么答案? –
问题在于我测试的方式。网页浏览器限制了它们与任何一台服务器的连接数量,甚至是在标签之间。 –
您也可以使用jMeter向您的服务器发出请求 –