experimental and requires careful tuning of the time-synchronization protocol, such as NTP
(Network Time Protocol). Its use in production environments is discouraged.
If external consistency is a requirement and you decide to use
COMMIT_WAIT, the time-synchronization protocol
needs to be tuned carefully. Each transaction will wait 2x the maximum clock error at the
time of execution, which is usually in the 100 msec. to 1 sec. range with the default
settings, maybe more. Thus, transactions would take at least 200 msec. to 2 sec. to
complete when using the default settings and may even time out.
A local server should be used as a time server. We have performed experiments using the default NTP time source available in a Google Compute Engine data center and were able to obtain a reasonable tight max error bound, usually varying between 12-17 milliseconds.
The following parameters should be adjusted in
/etc/ntp.confto tighten the maximum error:
server my_server.org iburst minpoll 1 maxpoll 8
tinker dispersion 500
tinker allan 0