perf: 调整 server.DefaultMessageChannelSize 为 65535,优化默认内存占用

This commit is contained in:
kercylan98 2023-07-13 14:38:39 +08:00
parent 0c5ff894f8
commit 3e9d56ec5b
3 changed files with 4 additions and 2 deletions

View File

@ -22,7 +22,7 @@ const (
const ( const (
DefaultMessageBufferSize = 1024 DefaultMessageBufferSize = 1024
DefaultMessageChannelSize = 1024 * 4096 DefaultMessageChannelSize = 1024 * 64
DefaultAsyncPoolSize = 256 DefaultAsyncPoolSize = 256
DefaultWebsocketReadDeadline = 30 * time.Second DefaultWebsocketReadDeadline = 30 * time.Second
) )

View File

@ -69,6 +69,7 @@ func WithWebsocketCompression(level int) Option {
} }
// WithMessageChannelSize 通过指定消息通道大小的方式创建服务器 // WithMessageChannelSize 通过指定消息通道大小的方式创建服务器
// - 足够大的消息通道可以确保服务器在短时间内接收到大量的消息而不至于阻塞
// - 默认值为 DefaultMessageChannelSize // - 默认值为 DefaultMessageChannelSize
func WithMessageChannelSize(size int) Option { func WithMessageChannelSize(size int) Option {
return func(srv *Server) { return func(srv *Server) {

View File

@ -8,13 +8,14 @@ import (
func ExampleNew() { func ExampleNew() {
srv := server.New(server.NetworkWebsocket, srv := server.New(server.NetworkWebsocket,
server.WithDeadlockDetect(time.Second*5), server.WithDeadlockDetect(time.Second*5),
server.WithPProf("/debug/pprof"),
) )
srv.RegConnectionReceivePacketEvent(func(srv *server.Server, conn *server.Conn, packet server.Packet) { srv.RegConnectionReceivePacketEvent(func(srv *server.Server, conn *server.Conn, packet server.Packet) {
conn.Write(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 { if err := srv.Run(":9999"); err != nil {
panic(err) panic(err)
} }