新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!

Commit a09ffec1 authored by tianle's avatar tianle

Merge branch 'v2.3.0_qc_perf' into 'v2.3.0_qc' (merge request !27)

feat: optimize performance --story=0
feat: optimize performance
--story=0
parents bc9829d2 5029cb9e
......@@ -14,5 +14,5 @@ require (
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
golang.org/x/tools v0.1.10 // indirect
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect
google.golang.org/grpc v1.40.0
google.golang.org/grpc v1.41.1
)
......@@ -117,6 +117,7 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/confio/ics23/go v0.0.0-20200817220745-f173e6211efb/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg=
......@@ -170,6 +171,7 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64=
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg=
......@@ -1139,8 +1141,9 @@ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.41.1 h1:ZYV66QHBUJ+wu6Tx9FueoEXMGohQgfVd1tF1UVLsNiw=
google.golang.org/grpc v1.41.1/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
......
......@@ -32,6 +32,10 @@ func newUDSClient() (protogo.DockerVMRpc_DockerVMCommunicateClient, error) {
grpc.MaxCallRecvMsgSize(config.ContractEngineClient.MaxRecvMsgSize),
grpc.MaxCallSendMsgSize(config.ContractEngineClient.MaxRecvMsgSize),
),
grpc.WithWriteBufferSize(4 * 1024 * 1024),
grpc.WithReadBufferSize(4 * 1024 * 1024),
grpc.WithInitialWindowSize(64 * 1024 * 1024),
grpc.WithInitialConnWindowSize(64 * 1024 * 1024),
}
ctx, cancel := context.WithTimeout(context.Background(), dialTimeout)
......@@ -49,32 +53,28 @@ func newRuntimeConn() (protogo.DockerVMRpc_DockerVMCommunicateClient, error) {
var conn *grpc.ClientConn
var err error
dialOpts := []grpc.DialOption{
grpc.WithInsecure(),
grpc.WithDefaultCallOptions(
grpc.MaxCallRecvMsgSize(config.RuntimeClient.MaxRecvMsgSize),
grpc.MaxCallSendMsgSize(config.RuntimeClient.MaxSendMsgSize),
),
grpc.WithWriteBufferSize(4 * 1024 * 1024),
grpc.WithReadBufferSize(4 * 1024 * 1024),
grpc.WithInitialWindowSize(64 * 1024 * 1024),
grpc.WithInitialConnWindowSize(64 * 1024 * 1024),
}
if config.RuntimeClient.RuntimeRPCProtocolType == TCP {
url := fmt.Sprintf("%s:%s", config.RuntimeClient.RuntimeHost, config.RuntimeClient.RuntimePort)
dialOpts := []grpc.DialOption{
grpc.WithInsecure(),
grpc.WithDefaultCallOptions(
grpc.MaxCallRecvMsgSize(config.RuntimeClient.MaxRecvMsgSize),
grpc.MaxCallSendMsgSize(config.RuntimeClient.MaxSendMsgSize),
),
}
conn, err = grpc.Dial(url, dialOpts...)
if err != nil {
return nil, err
}
} else {
udsDialOpts := []grpc.DialOption{
grpc.WithInsecure(),
grpc.WithDefaultCallOptions(
grpc.MaxCallRecvMsgSize(config.RuntimeClient.MaxRecvMsgSize),
grpc.MaxCallSendMsgSize(config.RuntimeClient.MaxRecvMsgSize),
),
}
udsDialOpts = append(
udsDialOpts,
dialOpts = append(
dialOpts,
grpc.WithContextDialer(
func(ctx context.Context, sock string) (net.Conn, error) {
unixAddress, _ := net.ResolveUnixAddr("unix", sock)
......@@ -84,7 +84,7 @@ func newRuntimeConn() (protogo.DockerVMRpc_DockerVMCommunicateClient, error) {
),
)
conn, err = grpc.DialContext(context.Background(), config.RuntimeClient.RuntimeUDSSockPath, udsDialOpts...)
conn, err = grpc.DialContext(context.Background(), config.RuntimeClient.RuntimeUDSSockPath, dialOpts...)
if err != nil {
return nil, err
}
......
......@@ -55,7 +55,7 @@ func newTxHandler(contract sdk.Contract, processName, contractName string, logge
// PutMsg put txRequest to pendingQueue
func (h *TxHandler) PutMsg(msg *protogo.DockerVMMessage) {
h.sandboxLogger.Debugf("put txRequest to pending queue, txTd [%s], txType [%s]", msg.TxId, msg.Type)
EnterNextStep(msg, protogo.StepType_SANDBOX_GRPC_SEND_TX_REQUEST, "")
//EnterNextStep(msg, protogo.StepType_SANDBOX_GRPC_SEND_TX_REQUEST, "")
h.pendingQueue <- msg
}
......@@ -115,7 +115,7 @@ func (h *TxHandler) handleTxRequest(msg *protogo.DockerVMMessage) error {
// init time statistics
startTime := time.Now()
currentTxDuration.Reset(msg, startTime.UnixNano())
EnterNextStep(msg, protogo.StepType_SANDBOX_HANDLER_RECEIVE_TX_REQUEST, "")
//EnterNextStep(msg, protogo.StepType_SANDBOX_HANDLER_RECEIVE_TX_REQUEST, "")
currentStatus = BeforeExecute
defer func() {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment