import (
"fmt"
"os"
+ "strings"
)
func (s *NsSuite) TestHttpTps() {
s.assertNil(<-finished)
}
+func parseString(s, pattern string) string {
+ temp := strings.Split(s, "\n")
+ for _, item := range temp {
+ if strings.Contains(item, pattern) {
+ return item
+ }
+ }
+ return ""
+}
+
func runNginxPerf(s *NoTopoSuite, mode, ab_or_wrk string) error {
nRequests := 1000000
- nClients := 2000
+ nClients := 1000
serverAddress := s.netInterfaces[tapInterfaceName].peer.ip4AddressString()
} else if mode != "cps" {
return fmt.Errorf("invalid mode %s; expected cps/rps", mode)
}
+ // don't exit on socket receive errors
+ args += " -r"
args += " http://" + serverAddress + ":80/64B.json"
abCont.extraRunningArgs = args
o, err := abCont.combinedOutput()
- s.log(o, err)
+ rps := parseString(o, "Requests per second:")
+ s.log(rps, err)
s.assertNil(err)
} else {
wrkCont := s.getContainerByName("wrk")
serverAddress)
wrkCont.extraRunningArgs = args
o, err := wrkCont.combinedOutput()
- s.log(o)
+ rps := parseString(o, "requests")
+ s.log(rps, err)
s.assertNil(err)
}
return nil