Browse Source
Merge pull request #1298 from song-zhang/master
add fsync option for benchmark
pull/1299/head
Chris Lu
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
7 additions and
0 deletions
-
weed/command/benchmark.go
-
weed/operation/submit.go
|
|
@ -42,6 +42,7 @@ type BenchmarkOptions struct { |
|
|
|
grpcDialOption grpc.DialOption |
|
|
|
masterClient *wdclient.MasterClient |
|
|
|
grpcRead *bool |
|
|
|
fsync *bool |
|
|
|
} |
|
|
|
|
|
|
|
var ( |
|
|
@ -67,6 +68,7 @@ func init() { |
|
|
|
b.cpuprofile = cmdBenchmark.Flag.String("cpuprofile", "", "cpu profile output file") |
|
|
|
b.maxCpu = cmdBenchmark.Flag.Int("maxCpu", 0, "maximum number of CPUs. 0 means all available CPUs") |
|
|
|
b.grpcRead = cmdBenchmark.Flag.Bool("grpcRead", false, "use grpc API to read") |
|
|
|
b.fsync = cmdBenchmark.Flag.Bool("fsync", false, "flush data to disk after write") |
|
|
|
sharedBytes = make([]byte, 1024) |
|
|
|
} |
|
|
|
|
|
|
@ -230,6 +232,7 @@ func writeFiles(idChan chan int, fileIdLineChan chan string, s *stat) { |
|
|
|
Reader: &FakeReader{id: uint64(id), size: fileSize, random: random}, |
|
|
|
FileSize: fileSize, |
|
|
|
MimeType: "image/bench", // prevent gzip benchmark content
|
|
|
|
Fsync: *b.fsync, |
|
|
|
} |
|
|
|
ar := &operation.VolumeAssignRequest{ |
|
|
|
Count: 1, |
|
|
|
|
|
@ -27,6 +27,7 @@ type FilePart struct { |
|
|
|
Ttl string |
|
|
|
Server string //this comes from assign result
|
|
|
|
Fid string //this comes from assign result, but customizable
|
|
|
|
Fsync bool |
|
|
|
} |
|
|
|
|
|
|
|
type SubmitResult struct { |
|
|
@ -116,6 +117,9 @@ func (fi FilePart) Upload(maxMB int, master string, usePublicUrl bool, jwt secur |
|
|
|
if fi.ModTime != 0 { |
|
|
|
fileUrl += "?ts=" + strconv.Itoa(int(fi.ModTime)) |
|
|
|
} |
|
|
|
if fi.Fsync { |
|
|
|
fileUrl += "?fsync=true" |
|
|
|
} |
|
|
|
if closer, ok := fi.Reader.(io.Closer); ok { |
|
|
|
defer closer.Close() |
|
|
|
} |
|
|
|