From 3e9d56ec5b49fde53e8e8ddf9577f619eed98922 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Thu, 13 Jul 2023 14:38:39 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=B0=83=E6=95=B4=20server.DefaultMess?= =?UTF-8?q?ageChannelSize=20=E4=B8=BA=2065535=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=86=85=E5=AD=98=E5=8D=A0=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/constants.go | 2 +- server/options.go | 1 + server/server_example_test.go | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/server/constants.go b/server/constants.go index 1df8385..79b6c80 100644 --- a/server/constants.go +++ b/server/constants.go @@ -22,7 +22,7 @@ const ( const ( DefaultMessageBufferSize = 1024 - DefaultMessageChannelSize = 1024 * 4096 + DefaultMessageChannelSize = 1024 * 64 DefaultAsyncPoolSize = 256 DefaultWebsocketReadDeadline = 30 * time.Second ) diff --git a/server/options.go b/server/options.go index a7ad9d6..610d35b 100644 --- a/server/options.go +++ b/server/options.go @@ -69,6 +69,7 @@ func WithWebsocketCompression(level int) Option { } // WithMessageChannelSize 通过指定消息通道大小的方式创建服务器 +// - 足够大的消息通道可以确保服务器在短时间内接收到大量的消息而不至于阻塞 // - 默认值为 DefaultMessageChannelSize func WithMessageChannelSize(size int) Option { return func(srv *Server) { diff --git a/server/server_example_test.go b/server/server_example_test.go index 7fd49af..1f0c8ac 100644 --- a/server/server_example_test.go +++ b/server/server_example_test.go @@ -8,13 +8,14 @@ import ( func ExampleNew() { srv := server.New(server.NetworkWebsocket, server.WithDeadlockDetect(time.Second*5), + server.WithPProf("/debug/pprof"), ) srv.RegConnectionReceivePacketEvent(func(srv *server.Server, conn *server.Conn, packet server.Packet) { conn.Write(packet) }) - go func() { time.Sleep(1 * time.Second); srv.Shutdown() }() + //go func() { time.Sleep(1 * time.Second); srv.Shutdown() }() if err := srv.Run(":9999"); err != nil { panic(err) }