PingTimeout

I have been seeing a lot of PingTimeout disconnects in my logs lately on a couple of my servers. I was looking here Ping Timeout and found reasons for what PingTimeout officially is and why it is necessary, but then I just stumbled on an application that doesn’t exhibit the PingTimeout no matter how long you are connected. I’ve been connected for almost 24 hours without issue. Both servers/applications I am looking into are 4.2.0, so just a tad behind. Regardless, the default application PingTimeout in my VHost.xml file is set for 12000 and the application causing the messages has it set for 0 at the bottom of the Application.xml. The application that I have been connected to for almost 24 hours doesn’t even have the PingTimeout defined in its Application.xml. This is most likely because this one was upgraded several times starting way back with version 1.5. The file has been maintained outside of the WSE Manager and it probably started working with the newer versions before getting to the bottom where the PingTimeout directive exists.

Anyway, my question here is…for the server/application that I’ve been connected to for almost 24 hours…does not having the PingTimeout in the Application.xml file in essence turn off or disable the PingTimeout from even happening? If so, I obviously want to correct this, but then does setting it to 0 tell it to use the setting from the VHost.xml file?

I apologize if this was documented somewhere…I couldn’t find it, nor could I find a place in WSE Manager to change the setting in either file.

Many thanks!

You can modify this through the Application.xml /PingTimeOut and /ValidationFrequency settings. These are documented in the configuration guide

PingTimeout

The time (in milliseconds) that the server will wait for a ping response from the client. The ping mechanism is an RTMP internal ping (not an ICMP ping) that’s used to validate a client connection. If set to 0, the server will wait indefinitely. If this value isn’t provided (section commented-out), the value set in the VHost.xml file is used.

ValidationFrequency

The time (in milliseconds) that the server will wait during server-to-client validation. Validation only occurs if the client stops sending data to the server. Validation is done by sending a ping request from the server to the client. If set to 0, the server won’t validate client connections. If this value isn’t provided (section commented-out), the value set in the

Regards,

Salvadore

Salvadore,

Thanks for the response. I believe I understand, but if PingTimeout is set to 0 and ValidationFrequency is set to 500 will I get a race condition where it will continue to send validation messages server-to-client, but not care about the response…OR…see that the PingTimeout is 0 and interpret not as indefinite but instead throw a timeout and disconnect?

If I comment out the PingTimeout in Application.xml so that it uses the value of 12000 in VHost.xml it seems work very nicely. By doing this will I have in essence allowed for additional wait time, albeit not much?

Obviously adjusting these values will depend on the whole server application, but is there any information as to recommended settings based on different use cases that you know if?

Thanks!

Aaron

Sorry for the delayed reply.

So I think if PingTimeout is set to 0, then ValidationFrequeny is irrelevant.

There is no race condition (one thing beating out another in sequence that is out of order).

I hope this is helpful.

Regards,

Salvadore