环境:windows10 pro
硬件:4核?11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GH? 16G内存
配置:各个服务器打开长链接,并设置单连接可以保持60秒以上,100万次请求;
每类服务,请求1w次:
apache2.4.39 | 1.html? | 耗时 2016 ms | Nginx1.15.11 | 1.html | 耗时 1158 ms | go http | 等长字符串 | 耗时 192ms |
其中GO的服务代码如下:
package main
import (
"fmt"
"net/http"
)
func IndexHandlers(w http.ResponseWriter, r *http.Request){
// fmt.Println("============================")
id := r.Header["Pipeline-Id"][0]
// if len(r.Header) > 0 {
// for k,v := range r.Header {
// if (k == "Pipeline-Id"){
// id = v[0]
// }
// fmt.Printf("%s=%s\n", k, v[0])
// }
// }
// fmt.Println("");
fmt.Fprintln(w, "hello, world===========================================================" + id)
}
func main (){
http.HandleFunc("/", IndexHandlers)
http.HandleFunc("/hi", IndexHandlers)
err := http.ListenAndServe("10.128.6.15:80", nil)
if err != nil {
fmt.Printf("listen error:[%v]", err.Error())
}
}
关于pipelining参考:
HTTP管线化(HTTP pipelining) - dzqabc - 博客园
HTTP pipelining - dzqabc - 博客园
|