消息池默认大小调整

This commit is contained in:
kercylan98 2023-05-09 18:17:47 +08:00
parent 6b38c7dbc1
commit f1488fe7d3
2 changed files with 5 additions and 2 deletions

View File

@ -48,10 +48,13 @@ func WithWebsocketMessageType(messageTypes ...int) Option {
} }
// WithMessageBufferSize 通过特定的消息缓冲池大小运行服务器 // WithMessageBufferSize 通过特定的消息缓冲池大小运行服务器
// - 默认大小为 1024 // - 默认大小为 4096 * 1024
// - 消息数量超出这个值的时候,消息处理将会造成更大的开销(频繁创建新的结构体),同时服务器将输出警告内容 // - 消息数量超出这个值的时候,消息处理将会造成更大的开销(频繁创建新的结构体),同时服务器将输出警告内容
func WithMessageBufferSize(size int) Option { func WithMessageBufferSize(size int) Option {
return func(srv *Server) { return func(srv *Server) {
if size <= 0 {
return
}
srv.messagePoolSize = size srv.messagePoolSize = size
} }
} }

View File

@ -87,7 +87,7 @@ func (slf *Server) Run(addr string) error {
var connectionInitHandle = func(callback func()) { var connectionInitHandle = func(callback func()) {
slf.initMessageChannel = true slf.initMessageChannel = true
if slf.messagePoolSize <= 0 { if slf.messagePoolSize <= 0 {
slf.messagePoolSize = 1024 slf.messagePoolSize = 4096 * 1024
} }
slf.messagePool = synchronization.NewPool[*message](slf.messagePoolSize, slf.messagePool = synchronization.NewPool[*message](slf.messagePoolSize,
func() *message { func() *message {