How low can I set the TTL of a DNS record and expect it to be honoured?

I wish to set the TTL of my DNS record to something pretty low, like say 5 minutes (or 300 seconds) I wish to do this so that in 24 hours when this change has propagated, I will be able to issue further changes and have them respected within the 5 minute window.

The overall reason for this is because I am about to move a website from one box to another (different IP). Upon completing this move, I hope to shut down the origin al box and for everything to be work perfectly.

However I am a realist and want to prepare for the eventuality that something will go wrong. In a case such as this I would like to be able to switch back to the original site and to have that switch occur within a very small window (ie the 5 minutes)

If all should go well then I hope to change the TTL value back to ~24hours.

So to requote the question: "How low can I set the TTL of a DNS record and expect it to be honoured?"


Solution 1:

Standards (RFC1035) permit any TTL, from 0 seconds and up, and as it's a standard, every application under the sun required to honor it.

Real world is different, and maybe some bad ISPs ignore low TTL values and enforce some minimal TTL on all records that pass via their servers. I don't see real practical reason to do so.

Some browsers cache DNS for some small time (pecifically chrome caches DNS for 60 seconds, I think it's regardless of TTL but not sure).

I'd expect more than 95% of your traffic to honor your low TTL. I'm not a big expert in the field.