chrislu
1 year ago
3 changed files with 176 additions and 4 deletions
-
105weed/operation/assign_file_id.go
-
68weed/operation/assign_file_id_test.go
-
7weed/server/filer_server.go
@ -0,0 +1,68 @@ |
|||||
|
package operation |
||||
|
|
||||
|
import ( |
||||
|
"fmt" |
||||
|
"github.com/seaweedfs/seaweedfs/weed/pb" |
||||
|
"google.golang.org/grpc" |
||||
|
"testing" |
||||
|
"time" |
||||
|
) |
||||
|
|
||||
|
func BenchmarkWithConcurrency(b *testing.B) { |
||||
|
concurrencyLevels := []int{1, 10, 100, 1000} |
||||
|
|
||||
|
ap, _ := NewAssignProxy(func() pb.ServerAddress { |
||||
|
return pb.ServerAddress("localhost:9333") |
||||
|
}, grpc.WithInsecure(), 16) |
||||
|
|
||||
|
for _, concurrency := range concurrencyLevels { |
||||
|
b.Run( |
||||
|
fmt.Sprintf("Concurrency-%d", concurrency), |
||||
|
func(b *testing.B) { |
||||
|
for i := 0; i < b.N; i++ { |
||||
|
done := make(chan struct{}) |
||||
|
startTime := time.Now() |
||||
|
|
||||
|
for j := 0; j < concurrency; j++ { |
||||
|
go func() { |
||||
|
|
||||
|
ap.Assign(&VolumeAssignRequest{ |
||||
|
Count: 1, |
||||
|
}) |
||||
|
|
||||
|
done <- struct{}{} |
||||
|
}() |
||||
|
} |
||||
|
|
||||
|
for j := 0; j < concurrency; j++ { |
||||
|
<-done |
||||
|
} |
||||
|
|
||||
|
duration := time.Since(startTime) |
||||
|
b.Logf("Concurrency: %d, Duration: %v", concurrency, duration) |
||||
|
} |
||||
|
}, |
||||
|
) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
func BenchmarkStreamAssign(b *testing.B) { |
||||
|
ap, _ := NewAssignProxy(func() pb.ServerAddress { |
||||
|
return pb.ServerAddress("localhost:9333") |
||||
|
}, grpc.WithInsecure(), 16) |
||||
|
for i := 0; i < b.N; i++ { |
||||
|
ap.Assign(&VolumeAssignRequest{ |
||||
|
Count: 1, |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
func BenchmarkUnaryAssign(b *testing.B) { |
||||
|
for i := 0; i < b.N; i++ { |
||||
|
Assign(func() pb.ServerAddress { |
||||
|
return pb.ServerAddress("localhost:9333") |
||||
|
}, grpc.WithInsecure(), &VolumeAssignRequest{ |
||||
|
Count: 1, |
||||
|
}) |
||||
|
} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue