etcd_direct_call.go 675 B

123456789101112131415161718192021222324252627282930313233343536
  1. // +build ignore
  2. package test
  3. import (
  4. "net/http"
  5. "os"
  6. "testing"
  7. "time"
  8. )
  9. func BenchmarkEtcdDirectCall(b *testing.B) {
  10. templateBenchmarkEtcdDirectCall(b, false)
  11. }
  12. func BenchmarkEtcdDirectCallTls(b *testing.B) {
  13. templateBenchmarkEtcdDirectCall(b, true)
  14. }
  15. func templateBenchmarkEtcdDirectCall(b *testing.B, tls bool) {
  16. procAttr := new(os.ProcAttr)
  17. procAttr.Files = []*os.File{nil, os.Stdout, os.Stderr}
  18. clusterSize := 3
  19. _, etcds, _ := CreateCluster(clusterSize, procAttr, tls)
  20. defer DestroyCluster(etcds)
  21. time.Sleep(time.Second)
  22. b.ResetTimer()
  23. for i := 0; i < b.N; i++ {
  24. resp, _ := http.Get("http://127.0.0.1:4001/test/speed")
  25. resp.Body.Close()
  26. }
  27. }