MCPcopy
hub / github.com/uber/aresdb / BenchmarkFileTransfer

Function BenchmarkFileTransfer

datanode/bootstrap/bootstrap_server_bm_test.go:93–154  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

91}
92
93func BenchmarkFileTransfer(b *testing.B) {
94 testFile := "/tmp/file2m"
95 fileSize := 2 * 1024 * 1024
96
97 bigBuff := make([]byte, fileSize)
98 ioutil.WriteFile(testFile, bigBuff, 0666)
99
100 metaStore := &metaMocks.MetaStore{}
101 diskStore := &diskMocks.DiskStore{}
102 grpcServer := grpc.NewServer()
103 peerServer := NewPeerDataNodeServer(metaStore, diskStore)
104 pb.RegisterPeerDataNodeServer(grpcServer, peerServer)
105
106 lis, err := net.Listen("tcp", fmt.Sprintf(":%d", 0))
107 if err != nil {
108 b.Error(err)
109 }
110 go grpcServer.Serve(lis)
111 defer grpcServer.Stop()
112
113 testCases := []struct {
114 name string
115 chunkSize int32
116 bufferSize int32
117 }{
118 {"test chunk: 1024, buffer: 0", 1024, 0},
119 {"test chunk: 2048, buffer: 0", 2048, 0},
120 {"test chunk: 4096, buffer: 0", 4096, 0},
121 {"test chunk: 8192, buffer: 0", 8192, 0},
122 {"test chunk: 16384, buffer: 0", 16384, 0},
123 {"test chunk: 32768, buffer: 0", 32768, 0},
124
125 {"test chunk: 1024, buffer: 16000", 1024, 16 * 1024},
126 {"test chunk: 2048, buffer: 16000", 2048, 16 * 1024},
127 {"test chunk: 4096, buffer: 16000", 4096, 16 * 1024},
128 {"test chunk: 8192, buffer: 16000", 8192, 16 * 1024},
129 {"test chunk: 16384, buffer: 16000", 16384, 16 * 1024},
130 {"test chunk: 32768, buffer: 16000", 32768, 16 * 1024},
131
132 {"test chunk: 1024, buffer: 32000", 1024, 32 * 1024},
133 {"test chunk: 2048, buffer: 32000", 2048, 32 * 1024},
134 {"test chunk: 4096, buffer: 32000", 4096, 32 * 1024},
135 {"test chunk: 8192, buffer: 32000", 8192, 32 * 1024},
136 {"test chunk: 16384, buffer: 32000", 16384, 32 * 1024},
137 {"test chunk: 32768, buffer: 32000", 32768, 32 * 1024},
138
139 {"test chunk: 1024, buffer: 64000", 1024, 64 * 1024},
140 {"test chunk: 2048, buffer: 64000", 2048, 64 * 1024},
141 {"test chunk: 4096, buffer: 64000", 4096, 64 * 1024},
142 {"test chunk: 8192, buffer: 64000", 8192, 64 * 1024},
143 {"test chunk: 16384, buffer: 64000", 16384, 64 * 1024},
144 {"test chunk: 32768, buffer: 64000", 32768, 64 * 1024},
145 }
146
147 for _, tc := range testCases {
148 b.Run("test1", func(t *testing.B) {
149 fileTransfer(tc.name, lis.Addr().String(), testFile, tc.chunkSize, tc.bufferSize, fileSize)
150 })

Callers

nothing calls this directly

Calls 8

NewPeerDataNodeServerFunction · 0.85
fileTransferFunction · 0.85
ErrorMethod · 0.65
ServeMethod · 0.65
StopMethod · 0.65
RunMethod · 0.65
StringMethod · 0.65
RemoveMethod · 0.65

Tested by

no test coverage detected