From 0760e7c77c64fab11dd2ad554002b822a86e5343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <1@72wo.cn> Date: Mon, 7 Jul 2025 21:16:15 +0800 Subject: [PATCH] =?UTF-8?q?perf(server):=20=E8=B0=83=E6=95=B4=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E5=BF=83=E8=B7=B3=E9=97=B4=E9=9A=94=E5=B9=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9C=8D=E5=8A=A1=E5=99=A8=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将服务器心跳间隔从 3 秒调整为 10 秒 - 在 CommendSvrInfo 中使用 array 包对服务器信息列表进行排序 - 更新 go.mod 和 go.sum 文件,添加新的依赖项 --- common/socket/ServerEvent.go | 2 +- logic/go.mod | 3 +++ logic/go.sum | 6 ++++++ logic/service/server/CommendSvrInfo.go | 8 +++++++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/common/socket/ServerEvent.go b/common/socket/ServerEvent.go index f057dc976..9423b41c9 100644 --- a/common/socket/ServerEvent.go +++ b/common/socket/ServerEvent.go @@ -49,7 +49,7 @@ func (s *Server) OnClose(c gnet.Conn, _ error) (action gnet.Action) { } func (s *Server) OnTick() (delay time.Duration, action gnet.Action) { logging.Infof("[connected-count=%v]", atomic.LoadInt64(&s.connected)) - return 3 * time.Second, gnet.None + return 10 * time.Second, gnet.None } func (s *Server) OnBoot(eng gnet.Engine) gnet.Action { s.eng = eng diff --git a/logic/go.mod b/logic/go.mod index a8ee59a99..f23bb5a1f 100644 --- a/logic/go.mod +++ b/logic/go.mod @@ -6,6 +6,7 @@ require github.com/lunixbochs/struc v0.0.0-20241101090106-8d528fa2c543 require ( github.com/BurntSushi/toml v1.4.0 // indirect + github.com/butoften/array v1.0.9 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/clbanning/mxj/v2 v2.7.0 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect @@ -17,11 +18,13 @@ require ( github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/panjf2000/ants/v2 v2.11.3 // indirect + github.com/samber/lo v1.51.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/sync v0.11.0 // indirect golang.org/x/sys v0.30.0 // indirect + golang.org/x/text v0.22.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect ) diff --git a/logic/go.sum b/logic/go.sum index 381baa0b1..9ce13647c 100644 --- a/logic/go.sum +++ b/logic/go.sum @@ -1,5 +1,7 @@ github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/butoften/array v1.0.9 h1:/kPHAc+fHz72u5B23p2W1RzIoT2eOYvhsY0tKMvsHEc= +github.com/butoften/array v1.0.9/go.mod h1:RgJ3XIUy/Z2rQllTkXmS4LtfqJeD3mjYJ4XoP3odTqM= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME= @@ -30,6 +32,8 @@ github.com/panjf2000/ants/v2 v2.11.3 h1:AfI0ngBoXJmYOpDh9m516vjqoUu2sLrIVgppI9TZ github.com/panjf2000/ants/v2 v2.11.3/go.mod h1:8u92CYMUc6gyvTIw8Ru7Mt7+/ESnJahz5EVtqfrilek= github.com/panjf2000/gnet/v2 v2.9.1 h1:bKewICy/0xnQ9PMzNaswpe/Ah14w1TrRk91LHTcbIlA= github.com/panjf2000/gnet/v2 v2.9.1/go.mod h1:WQTxDWYuQ/hz3eccH0FN32IVuvZ19HewEWx0l62fx7E= +github.com/samber/lo v1.51.0 h1:kysRYLbHy/MB7kQZf5DSN50JHmMsNEdeY24VzJFu7wI= +github.com/samber/lo v1.51.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -42,6 +46,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= diff --git a/logic/service/server/CommendSvrInfo.go b/logic/service/server/CommendSvrInfo.go index 61ced619b..7e8b09802 100644 --- a/logic/service/server/CommendSvrInfo.go +++ b/logic/service/server/CommendSvrInfo.go @@ -4,6 +4,9 @@ import ( "blazing/cool" "blazing/modules/base/service" "blazing/modules/blazing/model" + "fmt" + + "github.com/butoften/array" ) // CommendSvrInfo 初始连接请求信息结构体 @@ -80,7 +83,10 @@ func GetServerInfoList() []ServerInfo { ret1 = append(ret1, *tt) } - + array.Sort(&ret1, func(a ServerInfo, b ServerInfo) bool { + return a.OnlineID < b.OnlineID + }) + fmt.Printf("升序 Sort: %v\n", ret1) return ret1 }