diff --git a/docs/content/preview/deploy/manual-deployment/system-config.md b/docs/content/preview/deploy/manual-deployment/system-config.md index 28a0a83a35fe..3138253b2848 100644 --- a/docs/content/preview/deploy/manual-deployment/system-config.md +++ b/docs/content/preview/deploy/manual-deployment/system-config.md @@ -23,6 +23,8 @@ In particular, the main YugabyteDB process, the YB-TServer, is multi-threaded. A ## ntp +YugabyteDB relies on clock synchronization to guarantee consistency in distributed transactions. + If your instance does not have public Internet access, make sure the ntp package is installed: ```sh @@ -35,6 +37,31 @@ As of CentOS 8, `ntp` is no longer available and has been replaced by `chrony`. $ sudo yum install -y chrony ``` +### PHC (PTP Hardware Clock) {{}} + +PTP Hardware Clock (PHC) refers to a physical clock device that supports the [Precision Time Protocol (PTP)](https://en.wikipedia.org/wiki/Precision_Time_Protocol) which is a network protocol used for highly accurate time synchronization. + +To check if your AWS instance supports PHC, see [AWS PTP Hardware Clock](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-ec2-ntp.html#connect-to-the-ptp-hardware-clock). + +Configure PTP using + +```sh +sudo bash ./bin/configure_ptp.sh +``` + +### Clockbound Agent {{}} + +Configuring a clockbound agent improves clock accuracy significantly. +While PHC is beneficial, it is not required. However, Chrony is a necessary prerequisite. + +```sh +sudo bash ./bin/configure_clockbound.sh +``` + +The scripts are packaged in YugabyteDB releases. + +Please configure yb-tserver and yb-master with gFlag `time_source=clockbound`. + ## ulimits In Linux, `ulimit` is used to limit and control the usage of system resources (threads, files, and network connections) on a per-process or per-user basis.