aboutsummaryrefslogtreecommitdiff
path: root/go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2014-03-14 01:53:47 -0700
committerChris Lu <chris.lu@gmail.com>2014-03-14 01:53:47 -0700
commit0c42c69e94ebcbcb0f5c82c80f551cd4f62517cd (patch)
tree07eb4513fd7edbeed7a04f1ef7488afa74ea25fc /go
parenteec67d60081e7435dcc2506093bceabf26f4938e (diff)
downloadseaweedfs-0c42c69e94ebcbcb0f5c82c80f551cd4f62517cd.tar.xz
seaweedfs-0c42c69e94ebcbcb0f5c82c80f551cd4f62517cd.zip
less greedy concurrency level, reducing open files
Diffstat (limited to 'go')
-rw-r--r--go/weed/benchmark.go16
1 files changed, 13 insertions, 3 deletions
diff --git a/go/weed/benchmark.go b/go/weed/benchmark.go
index 733435c73..af5c70715 100644
--- a/go/weed/benchmark.go
+++ b/go/weed/benchmark.go
@@ -40,7 +40,7 @@ func init() {
cmdBenchmark.Run = runbenchmark // break init cycle
cmdBenchmark.IsDebug = cmdBenchmark.Flag.Bool("debug", false, "verbose debug information")
b.server = cmdBenchmark.Flag.String("server", "localhost:9333", "weedfs master location")
- b.concurrency = cmdBenchmark.Flag.Int("c", 64, "number of concurrent write or read processes")
+ b.concurrency = cmdBenchmark.Flag.Int("c", 16, "number of concurrent write or read processes")
b.fileSize = cmdBenchmark.Flag.Int("size", 1024, "simulated file size in bytes")
b.numberOfFiles = cmdBenchmark.Flag.Int("n", 1024*1024, "number of files to write for each thread")
b.idListFile = cmdBenchmark.Flag.String("list", os.TempDir()+"/benchmark_list.txt", "list of uploaded file ids")
@@ -78,6 +78,9 @@ var cmdBenchmark = &Command{
before starting the benchmark command:
http://localhost:9333/vol/grow?collection=benchmark&count=5
+ After benchmarking, you can clean up the written data by deleting the benchmark collection
+ http://localhost:9333/col/delete?collection=benchmark
+
`,
}
@@ -329,12 +332,19 @@ func (s *stats) addSample(d time.Duration) {
func (s *stats) checkProgress(testName string, finishChan chan bool) {
fmt.Printf("\n------------ %s ----------\n", testName)
ticker := time.Tick(time.Second)
+ lastCompleted, lastTransferred, lastTime := 0, int64(0), time.Now()
for {
select {
case <-finishChan:
return
- case <-ticker:
- fmt.Printf("Completed %d of %d requests, %3.1f%%\n", s.completed, *b.numberOfFiles, float64(s.completed)*100/float64(*b.numberOfFiles))
+ case t := <-ticker:
+ completed, transferred, taken := s.completed-lastCompleted, s.transferred-lastTransferred, t.Sub(lastTime)
+ fmt.Printf("Completed %d of %d requests, %3.1f%% %3.1f/s %3.1fMB/s\n",
+ s.completed, *b.numberOfFiles, float64(s.completed)*100/float64(*b.numberOfFiles),
+ float64(completed)*float64(int64(time.Second))/float64(int64(taken)),
+ float64(transferred)*float64(int64(time.Second))/float64(int64(taken))/float64(1024*1024),
+ )
+ lastCompleted, lastTransferred, lastTime = s.completed, s.transferred, t
}
}
}