redigo 压力测试,请求不了几次就断开了,为啥?

    redisConn, err := redis.DialTimeout("tcp", "172.18.8.24:6001", 1*time.Second, 1*time.Second, 1*time.Second)
    if err != nil {
        ilog.Error("redis - " + err.Error())
        os.Exit(0)
    }

    index := func(w http.ResponseWriter, r *http.Request) {
        ret, err := redisConn.Do("PING")
        if err != nil {
            ilog.Error("redis - " + err.Error())       // 这里错误描述是 short write
        } else {
            io.WriteString(w, fmt.Sprintf("%s", ret))
        }
    }
    http.HandleFunc("/", index)
    http.ListenAndServe(":8081", nil)

主要代码就是这样,我用ab -k -c 200 -n 1000000 http://172.18.8.24:8081/ 测试瞬间redis的链接就断开了,几乎全部失败,如果单独用 curl 请求是有数据的,但一上压力就不行了,不知道我的写法有没有问题?

共 0 个回复