perf(server,peer): Adjust queue thresholds and improve buffer monitoring

This commit is contained in:
zarazaex69
2026-04-10 14:59:49 +03:00
parent 76ae387a04
commit 2a670e505e
2 changed files with 8 additions and 4 deletions

View File

@@ -259,7 +259,6 @@ func (s *Server) run(ctx context.Context) error {
go func(sid uint16) {
data := s.mux.ReadStream(sid)
if len(data) > 0 {
log.Printf("[SERVER] sid=%d READ_STREAM size=%d", sid, len(data))
s.connMu.RLock()
conn, exists := s.connections[sid]
s.connMu.RUnlock()

View File

@@ -762,8 +762,8 @@ func (p *Peer) monitorQueue() {
if p.dc != nil {
buffered = p.dc.BufferedAmount()
}
if queueLen > 500 || buffered > 50*1024 {
log.Printf("[QUEUE_MONITOR] queue_len=%d dc_buffered=%d", queueLen, buffered)
if queueLen > 800 || buffered > 3*1024*1024 {
log.Printf("[QUEUE_MONITOR] queue_len=%d dc_buffered=%d MB", queueLen, buffered/(1024*1024))
}
case <-p.closeCh:
return
@@ -772,5 +772,10 @@ func (p *Peer) monitorQueue() {
}
func (p *Peer) CanSend() bool {
return len(p.sendQueue) < 3000
queueLen := len(p.sendQueue)
buffered := uint64(0)
if p.dc != nil {
buffered = p.dc.BufferedAmount()
}
return queueLen < 1000 && buffered < 3*1024*1024
}