|
@@ -357,7 +357,7 @@ type GlobalVars struct {
|
|
|
ch_wait_mql_done map[string]chan bool
|
|
ch_wait_mql_done map[string]chan bool
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func (mt *MQLTest) Run(t *testing.T, fw *filewalker.FileWalker) (ok bool) {
|
|
|
|
|
|
|
+func (mt *MQLTest) Run(t *testing.T, fw *filewalker.FileWalker) (retok bool) {
|
|
|
mt.t = t
|
|
mt.t = t
|
|
|
mt.fw = fw
|
|
mt.fw = fw
|
|
|
global := &GlobalVars{
|
|
global := &GlobalVars{
|
|
@@ -376,11 +376,22 @@ func (mt *MQLTest) Run(t *testing.T, fw *filewalker.FileWalker) (ok bool) {
|
|
|
mql: map[string]*Variables{}}
|
|
mql: map[string]*Variables{}}
|
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
|
defer cancel()
|
|
defer cancel()
|
|
|
- var wg sync.WaitGroup
|
|
|
|
|
st := time.Now()
|
|
st := time.Now()
|
|
|
loop_i := 0
|
|
loop_i := 0
|
|
|
parallel_queue := pqc.NewQueue[any](0)
|
|
parallel_queue := pqc.NewQueue[any](0)
|
|
|
mqlcount := int32(0)
|
|
mqlcount := int32(0)
|
|
|
|
|
+ defer func() {
|
|
|
|
|
+ mt.scopevars.RLock()
|
|
|
|
|
+ loop_count := mt.scopevars.top.loop_count
|
|
|
|
|
+ mt.scopevars.RUnlock()
|
|
|
|
|
+ ut := time.Since(st)
|
|
|
|
|
+ aut := time.Duration(0)
|
|
|
|
|
+ if mqlcount > 0 {
|
|
|
|
|
+ aut = global.totalusetime / time.Duration(mqlcount)
|
|
|
|
|
+ }
|
|
|
|
|
+ logger.Info("完成 ", loop_count, " 次执行,共", mqlcount, "次 MQL 请求,耗时", ut, "单条响应时间", global.minusetime, "~", global.maxusetime, "/", aut, "平均每秒吞吐量", (int64(mqlcount)*int64(time.Second))/int64(ut))
|
|
|
|
|
+ }()
|
|
|
|
|
+ var wg sync.WaitGroup
|
|
|
for {
|
|
for {
|
|
|
mt.scopevars.Lock()
|
|
mt.scopevars.Lock()
|
|
|
ok := loop_i < mt.scopevars.top.loop_count
|
|
ok := loop_i < mt.scopevars.top.loop_count
|
|
@@ -457,15 +468,6 @@ func (mt *MQLTest) Run(t *testing.T, fw *filewalker.FileWalker) (ok bool) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
wg.Wait()
|
|
wg.Wait()
|
|
|
- mt.scopevars.RLock()
|
|
|
|
|
- loop_count := mt.scopevars.top.loop_count
|
|
|
|
|
- mt.scopevars.RUnlock()
|
|
|
|
|
- ut := time.Since(st)
|
|
|
|
|
- aut := time.Duration(0)
|
|
|
|
|
- if mqlcount > 0 {
|
|
|
|
|
- aut = global.totalusetime / time.Duration(mqlcount)
|
|
|
|
|
- }
|
|
|
|
|
- logger.Info("完成 ", loop_count, " 次执行,共", mqlcount, "次 MQL 请求,耗时", ut, "单条响应时间", global.minusetime, "~", global.maxusetime, "/", aut, "平均每秒吞吐量", (int64(mqlcount)*int64(time.Second))/int64(ut))
|
|
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|