Git Product home page Git Product logo

Comments (10)

hzhxxx avatar hzhxxx commented on August 28, 2024

基本上,只要数据收发还正常的情况下,如果把 nginx 重启,就会重现。

from muduo.

chenshuo avatar chenshuo commented on August 28, 2024

为什么你认为这是muduo的问题,而不是nginx的问题?
tcpdump 有没有说是谁主动断开连接?

from muduo.

hzhxxx avatar hzhxxx commented on August 28, 2024

现在还没有抓包分析,不过 TcpClient 的重连频率还是很高,基本和死循环一样。

from muduo.

chenshuo avatar chenshuo commented on August 28, 2024

从你给的log看,重连的间隔有0.5s。这有什么问题?

from muduo.

hzhxxx avatar hzhxxx commented on August 28, 2024

Uploading 没有完成关闭过程.PNG . . .
Uploading 完成了整个关闭过程.PNG . . .

两个截图,一个是完成了整个连接和关闭过程。
一个是完成了连接,没有完整关闭过程。
重连的时间间隔没有预期的指数回退,就是一直在连接。
当然,确实是服务器先主动关闭连接。

from muduo.

hzhxxx avatar hzhxxx commented on August 28, 2024

传图

from muduo.

hzhxxx avatar hzhxxx commented on August 28, 2024

上图上不去,只能上客户端 log 了。
20150324 01:33:24.123149Z 22876 INFO TcpClient::connect[ChatClient] - Reconnecting to 169.254.10.12:26888 - TcpClient.cc:178
20150324 01:33:24.123219Z 22876 INFO 169.254.10.12:60264 -> 169.254.10.12:26888 is UP - client.cc:53
20150324 01:33:24.123233Z 22876 INFO 169.254.10.12:60264 -> 169.254.10.12:26888 is DOWN - client.cc:53
20150324 01:33:24.123239Z 22876 INFO TcpClient::connect[ChatClient] - Reconnecting to 169.254.10.12:26888 - TcpClient.cc:178
20150324 01:33:24.123311Z 22876 INFO 169.254.10.12:60265 -> 169.254.10.12:26888 is UP - client.cc:53
20150324 01:33:24.123324Z 22876 INFO 169.254.10.12:60265 -> 169.254.10.12:26888 is DOWN - client.cc:53

from muduo.

hzhxxx avatar hzhxxx commented on August 28, 2024

因为服务器端主动关闭了连接,而每次客户端也析构了连接对象,导致 Connector 类每次都使用
初始化的kInitRetryDelayMs值来计算连接时间间隔,而无法不断累计时间,导致客户端就和死循环一样,
没有很优雅的不断增加连接时间间隔,两边都陷入雪崩的情况。客户端作死连接,服务器拼命关闭。

from muduo.

hzhxxx avatar hzhxxx commented on August 28, 2024

因为每次连接都成功了,客户端没有进入连接失败,所以
void TcpClient::removeConnection(const TcpConnectionPtr& conn)
函数内部执行了 connector_->restart(); 去重新连接。

客户端作死连接,服务器拼命关闭。
不知道这种情况,客户端是否要规避。

from muduo.

chenshuo avatar chenshuo commented on August 28, 2024

我认为问题出在server端,TcpClient没有问题。

from muduo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.