etcd_direct_call.go 657 B

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