elasticutil_tcp_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package elastic
  2. import (
  3. "log"
  4. "testing"
  5. )
  6. func Test_tcp(t *testing.T) {
  7. InitElastic("http://192.168.3.14:9800")
  8. b := make(chan bool, 1)
  9. c := make(chan bool, 300)
  10. for i := 0; i < 100000; i++ {
  11. c <- true
  12. go func(a int) {
  13. /**
  14. defer func() {
  15. if r := recover(); r != nil {
  16. log.Println("[E]", r)
  17. for skip := 1; ; skip++ {
  18. _, file, line, ok := runtime.Caller(skip)
  19. if !ok {
  20. break
  21. }
  22. go log.Printf("%v,%v\n", file, line)
  23. }
  24. }
  25. }()
  26. client := http.Client{
  27. Transport: &http.Transport{
  28. Dial: func(netw, addr string) (net.Conn, error) {
  29. deadline := time.Now().Add(time.Duration(5) * time.Second)
  30. c, err := net.DialTimeout(netw, addr, time.Duration(5)*time.Second)
  31. if err != nil {
  32. return nil, err
  33. }
  34. c.SetDeadline(deadline)
  35. return c, nil
  36. },
  37. },
  38. }
  39. res, e := client.Get("http://192.168.3.14:9800/content/content/555ee61691db0a1360d11518")
  40. if nil != res {
  41. if res.StatusCode != 200 {
  42. log.Println(res.StatusCode)
  43. }
  44. bs, _ := ioutil.ReadAll(res.Body)
  45. res.Body.Close()
  46. log.Println(a, string(bs))
  47. } else {
  48. log.Println(i, "res is null", e)
  49. }
  50. **/
  51. log.Println(a, len(*GetPage("content", "content", `{}`, "", "", 0, 20)))
  52. <-c
  53. }(i)
  54. }
  55. <-b
  56. }
  57. func Test_clientNum(t *testing.T) {
  58. s := make(chan bool, 10)
  59. InitElasticSize("http://192.168.3.14:9800", 20)
  60. size := 1000
  61. for i := 0; i < size; i++ {
  62. go func(i int) {
  63. log.Println(i, len(*GetPage("enterprise", "enterprise", "{}", "", "", 0, 12)))
  64. }(i)
  65. }
  66. <-s
  67. }
  68. func Test_makeQue(t *testing.T) {
  69. log.Println(MakeQuery("{}", "", "", 0, 12))
  70. }