瀏覽代碼

fasthttp: removed 'prefork' hack on periodic connection closing

This hack is irrelevant for the benchmark, since 16K connections
in plaintext benchmark are guaranteed to be spread among available
CPU cores, so every CPU core is fully loaded.
Aliaksandr Valialkin 9 年之前
父節點
當前提交
f42b82d390
共有 2 個文件被更改,包括 0 次插入34 次删除
  1. 0 17
      frameworks/Go/fasthttp-mysql/src/hello/hello.go
  2. 0 17
      frameworks/Go/fasthttp-postgresql/src/hello/hello.go

+ 0 - 17
frameworks/Go/fasthttp-mysql/src/hello/hello.go

@@ -13,8 +13,6 @@ import (
 	"runtime"
 	"sort"
 	"sync"
-	"sync/atomic"
-	"time"
 
 	_ "github.com/go-sql-driver/mysql"
 	"github.com/valyala/fasthttp"
@@ -95,22 +93,7 @@ func main() {
 	}
 }
 
-const maxConnDuration = time.Millisecond * 1500
-
-var connDurationJitter uint64
-
 func mainHandler(ctx *fasthttp.RequestCtx) {
-	// Performance hack for prefork mode - periodically close keepalive
-	// connections for evenly distributing connections among available
-	// processes.
-	if *prefork {
-		maxDuration := maxConnDuration + time.Millisecond*time.Duration(atomic.LoadUint64(&connDurationJitter))
-		if time.Since(ctx.ConnTime()) > maxDuration {
-			atomic.StoreUint64(&connDurationJitter, uint64(rand.Intn(100)))
-			ctx.SetConnectionClose()
-		}
-	}
-
 	path := ctx.Path()
 	switch string(path) {
 	case "/plaintext":

+ 0 - 17
frameworks/Go/fasthttp-postgresql/src/hello/hello.go

@@ -13,8 +13,6 @@ import (
 	"runtime"
 	"sort"
 	"sync"
-	"sync/atomic"
-	"time"
 
 	"github.com/jackc/pgx"
 	"github.com/valyala/fasthttp"
@@ -86,22 +84,7 @@ func main() {
 	}
 }
 
-const maxConnDuration = time.Millisecond * 1500
-
-var connDurationJitter uint64
-
 func mainHandler(ctx *fasthttp.RequestCtx) {
-	// Performance hack for prefork mode - periodically close keepalive
-	// connections for evenly distributing connections among available
-	// processes.
-	if *prefork {
-		maxDuration := maxConnDuration + time.Millisecond*time.Duration(atomic.LoadUint64(&connDurationJitter))
-		if time.Since(ctx.ConnTime()) > maxDuration {
-			atomic.StoreUint64(&connDurationJitter, uint64(rand.Intn(100)))
-			ctx.SetConnectionClose()
-		}
-	}
-
 	path := ctx.Path()
 	switch string(path) {
 	case "/plaintext":