Merge pull request #1276 from bbx-winner/master

fix: disable keep alive and improve RPS accuracy
This commit is contained in:
debugtalk
2022-05-09 22:12:57 +08:00
committed by GitHub
6 changed files with 30 additions and 35 deletions
+12 -3
View File
@@ -19,9 +19,6 @@ func NewBoomer(spawnCount int, spawnRate float64) *HRPBoomer {
}
b.hrpRunner = NewRunner(nil)
// set client transport for high concurrency load testing
b.hrpRunner.SetClientTransport(b.GetSpawnCount(), b.GetDisableKeepAlive(), b.GetDisableCompression())
return b
}
@@ -32,6 +29,11 @@ type HRPBoomer struct {
pluginsMutex *sync.RWMutex // avoid data race
}
func (b *HRPBoomer) SetClientTransport() {
// set client transport for high concurrency load testing
b.hrpRunner.SetClientTransport(b.GetSpawnCount(), b.GetDisableKeepAlive(), b.GetDisableCompression())
}
// Run starts to run load test for one or multiple testcases.
func (b *HRPBoomer) Run(testcases ...ITestCase) {
event := sdk.EventTracking{
@@ -97,6 +99,9 @@ func (b *HRPBoomer) convertBoomerTask(testcase *TestCase, rendezvousList []*Rend
parametersIterator := caseRunner.parametersIterator
parametersIterator.SetUnlimitedMode()
// reset start time only once
once := sync.Once{}
return &boomer.Task{
Name: testcase.Config.Name,
Weight: testcase.Config.Weight,
@@ -113,6 +118,10 @@ func (b *HRPBoomer) convertBoomerTask(testcase *TestCase, rendezvousList []*Rend
startTime := time.Now()
for _, step := range testcase.TestSteps {
// reset start time only once before step
once.Do(func() {
b.Boomer.ResetStartTime()
})
stepResult, err := step.Run(sessionRunner)
if err != nil {
// step failed