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 (
DefaultMessageBufferSize = 1024
DefaultMessageChannelSize = 1024 * 4096
DefaultMessageChannelSize = 1024 * 64
DefaultAsyncPoolSize = 256
DefaultWebsocketReadDeadline = 30 * time.Second
)

View File

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

View File

@ -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)
}