mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-30 10:10:21 +00:00
44 lines
831 B
Go
44 lines
831 B
Go
package restful
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"testing"
|
|
)
|
|
|
|
var uris = []string{}
|
|
|
|
func setup(container *Container) {
|
|
wsCount := 26
|
|
rtCount := 26
|
|
|
|
for i := 0; i < wsCount; i++ {
|
|
root := fmt.Sprintf("/%s/{%s}/", string(i+97), string(i+97))
|
|
ws := new(WebService).Path(root)
|
|
for j := 0; j < rtCount; j++ {
|
|
sub := fmt.Sprintf("/%s2/{%s2}", string(j+97), string(j+97))
|
|
ws.Route(ws.GET(sub).To(echo))
|
|
}
|
|
container.Add(ws)
|
|
for _, each := range ws.Routes() {
|
|
uris = append(uris, "http://bench.com"+each.Path)
|
|
}
|
|
}
|
|
}
|
|
|
|
func echo(req *Request, resp *Response) {
|
|
io.WriteString(resp.ResponseWriter, "echo")
|
|
}
|
|
|
|
func BenchmarkMany(b *testing.B) {
|
|
container := NewContainer()
|
|
setup(container)
|
|
b.ResetTimer()
|
|
for t := 0; t < b.N; t++ {
|
|
for _, each := range uris {
|
|
// println(each)
|
|
sendItTo(each, container)
|
|
}
|
|
}
|
|
}
|