mirror of https://github.com/tikv/client-go.git
Add grpc window size config and change the default value
Signed-off-by: gengliqi <gengliqiii@gmail.com>
This commit is contained in:
parent
58ef395164
commit
44b2944b64
|
@ -44,7 +44,9 @@ import (
|
|||
|
||||
const (
|
||||
// DefStoreLivenessTimeout is the default value for store liveness timeout.
|
||||
DefStoreLivenessTimeout = "1s"
|
||||
DefStoreLivenessTimeout = "1s"
|
||||
DefGrpcInitialWindowSize = 1 << 27 // 128MiB
|
||||
DefGrpcInitialConnWindowSize = 1 << 27 // 128MiB
|
||||
)
|
||||
|
||||
// TiKVClient is the config for tikv client.
|
||||
|
@ -62,6 +64,10 @@ type TiKVClient struct {
|
|||
GrpcCompressionType string `toml:"grpc-compression-type" json:"grpc-compression-type"`
|
||||
// GrpcSharedBufferPool is the flag to control whether to share the buffer pool in the TiKV gRPC clients.
|
||||
GrpcSharedBufferPool bool `toml:"grpc-shared-buffer-pool" json:"grpc-shared-buffer-pool"`
|
||||
// GrpcInitialWindowSize is the value for initial window size on a stream.
|
||||
GrpcInitialWindowSize int32 `toml:"grpc-initial-window-size" json:"grpc-initial-window-size"`
|
||||
// GrpcInitialConnWindowSize is the value for initial window size on a connection.
|
||||
GrpcInitialConnWindowSize int32 `toml:"grpc-initial-conn-window-size" json:"grpc-initial-conn-window-size"`
|
||||
// CommitTimeout is the max time which command 'commit' will wait.
|
||||
CommitTimeout string `toml:"commit-timeout" json:"commit-timeout"`
|
||||
AsyncCommit AsyncCommit `toml:"async-commit" json:"async-commit"`
|
||||
|
@ -130,12 +136,14 @@ type CoprocessorCache struct {
|
|||
// DefaultTiKVClient returns default config for TiKVClient.
|
||||
func DefaultTiKVClient() TiKVClient {
|
||||
return TiKVClient{
|
||||
GrpcConnectionCount: 4,
|
||||
GrpcKeepAliveTime: 10,
|
||||
GrpcKeepAliveTimeout: 3,
|
||||
GrpcCompressionType: "none",
|
||||
GrpcSharedBufferPool: false,
|
||||
CommitTimeout: "41s",
|
||||
GrpcConnectionCount: 4,
|
||||
GrpcKeepAliveTime: 10,
|
||||
GrpcKeepAliveTimeout: 3,
|
||||
GrpcCompressionType: "none",
|
||||
GrpcSharedBufferPool: false,
|
||||
GrpcInitialWindowSize: DefGrpcInitialWindowSize,
|
||||
GrpcInitialConnWindowSize: DefGrpcInitialConnWindowSize,
|
||||
CommitTimeout: "41s",
|
||||
AsyncCommit: AsyncCommit{
|
||||
// FIXME: Find an appropriate default limit.
|
||||
KeysLimit: 256,
|
||||
|
|
|
@ -90,12 +90,6 @@ const (
|
|||
MaxWriteExecutionTime = ReadTimeoutShort - 10*time.Second
|
||||
)
|
||||
|
||||
// Grpc window size
|
||||
const (
|
||||
GrpcInitialWindowSize = 1 << 30
|
||||
GrpcInitialConnWindowSize = 1 << 30
|
||||
)
|
||||
|
||||
// forwardMetadataKey is the key of gRPC metadata which represents a forwarded request.
|
||||
const forwardMetadataKey = "tikv-forwarded-host"
|
||||
|
||||
|
@ -320,8 +314,8 @@ func (a *connArray) Init(addr string, security config.Security, idleNotify *uint
|
|||
|
||||
opts = append([]grpc.DialOption{
|
||||
opt,
|
||||
grpc.WithInitialWindowSize(GrpcInitialWindowSize),
|
||||
grpc.WithInitialConnWindowSize(GrpcInitialConnWindowSize),
|
||||
grpc.WithInitialWindowSize(cfg.TiKVClient.GrpcInitialWindowSize),
|
||||
grpc.WithInitialConnWindowSize(cfg.TiKVClient.GrpcInitialConnWindowSize),
|
||||
grpc.WithUnaryInterceptor(unaryInterceptor),
|
||||
grpc.WithStreamInterceptor(streamInterceptor),
|
||||
grpc.WithDefaultCallOptions(callOptions...),
|
||||
|
|
|
@ -28,7 +28,6 @@ import (
|
|||
"github.com/pkg/errors"
|
||||
"github.com/tikv/client-go/v2/config"
|
||||
"github.com/tikv/client-go/v2/config/retry"
|
||||
"github.com/tikv/client-go/v2/internal/client"
|
||||
"github.com/tikv/client-go/v2/internal/logutil"
|
||||
"github.com/tikv/client-go/v2/metrics"
|
||||
"github.com/tikv/client-go/v2/tikvrpc"
|
||||
|
@ -734,8 +733,8 @@ func createKVHealthClient(ctx context.Context, addr string) (*grpc.ClientConn, h
|
|||
ctx,
|
||||
addr,
|
||||
opt,
|
||||
grpc.WithInitialWindowSize(client.GrpcInitialWindowSize),
|
||||
grpc.WithInitialConnWindowSize(client.GrpcInitialConnWindowSize),
|
||||
grpc.WithInitialWindowSize(cfg.TiKVClient.GrpcInitialWindowSize),
|
||||
grpc.WithInitialConnWindowSize(cfg.TiKVClient.GrpcInitialConnWindowSize),
|
||||
grpc.WithConnectParams(grpc.ConnectParams{
|
||||
Backoff: backoff.Config{
|
||||
BaseDelay: 100 * time.Millisecond, // Default was 1s.
|
||||
|
|
Loading…
Reference in New Issue