package elastic import ( "log" "testing" ) func Test_tcp(t *testing.T) { InitElastic("http://192.168.3.14:9800") b := make(chan bool, 1) c := make(chan bool, 300) for i := 0; i < 100000; i++ { c <- true go func(a int) { /** defer func() { if r := recover(); r != nil { log.Println("[E]", r) for skip := 1; ; skip++ { _, file, line, ok := runtime.Caller(skip) if !ok { break } go log.Printf("%v,%v\n", file, line) } } }() client := http.Client{ Transport: &http.Transport{ Dial: func(netw, addr string) (net.Conn, error) { deadline := time.Now().Add(time.Duration(5) * time.Second) c, err := net.DialTimeout(netw, addr, time.Duration(5)*time.Second) if err != nil { return nil, err } c.SetDeadline(deadline) return c, nil }, }, } res, e := client.Get("http://192.168.3.14:9800/content/content/555ee61691db0a1360d11518") if nil != res { if res.StatusCode != 200 { log.Println(res.StatusCode) } bs, _ := ioutil.ReadAll(res.Body) res.Body.Close() log.Println(a, string(bs)) } else { log.Println(i, "res is null", e) } **/ log.Println(a, len(*GetPage("content", "content", `{}`, "", "", 0, 20))) <-c }(i) } <-b } func Test_clientNum(t *testing.T) { s := make(chan bool, 10) InitElasticSize("http://192.168.3.14:9800", 20) size := 1000 for i := 0; i < size; i++ { go func(i int) { log.Println(i, len(*GetPage("enterprise", "enterprise", "{}", "", "", 0, 12))) }(i) } <-s } func Test_makeQue(t *testing.T) { log.Println(MakeQuery("{}", "", "", 0, 12)) }