@@ -2,18 +2,18 @@ package g002
22
33const MSG_NODE string = "node: %s"
44const MSG_NODES string = "nodes: %s"
5- const MSG_TX_AGE_MORE_1H_CONCLUSION string = "[P1] There are transactions with transaction age > 1 hour. It was observed on the following " +
6- "%s. For OLTP databases, it is important to avoid long-lasting transactions. At the moment of this report generation, " +
5+ const MSG_TX_AGE_MORE_1H_CONCLUSION string = "[P1] There are transactions with transaction age > 1 hour, observed on: %s. " +
6+ "For OLTP databases, it is important to avoid long running transactions. At the moment of this report generation, " +
77 "such transactions were detected. Long-lasting transactions lead to two big issues in the database, both affecting the system " +
88 "performance negatively: \n " +
9- " - higher risks of having locking issues (unless such transactions are read-only and do not involve explicit locking), \n " +
10- " - VACUUM cannot process some entries in tables and indexes, and as a result, bloat levels increase more and faster than usual."
9+ " - higher risks of having locking issues (unless such transactions are read-only and do not involve explicit locking),\n " +
10+ " - VACUUM cannot process some entries in tables and indexes, hence bloat grows more and faster than usual."
1111const MSG_TX_AGE_MORE_1H_RECOMMENDATION string = "[P1] There are transactions with transaction age > 1 hour. For better understanding, " +
1212 "refer to monitoring (add transaction-related graphs there if they are missing; it is important to split data by `state` " +
13- "in `pg_stat_activity`). Consider the following tactics to avoid long-lasting transactions: \n " +
14- " - split long transactions to smaller ones – ideally, OLTP workload should not have transactions longer than a few seconds; \n " +
15- " - if long-lasting transactions often appear in 'idle in transaction' state, this is a sign that delays happen on " +
16- "client's ( application's) side; it is very important to reduce such delays as possible; \n " +
13+ "in `pg_stat_activity`). Consider the following tactics to avoid long running transactions:\n " +
14+ " - split transactions to smaller ones – ideally, OLTP workload should not have transactions lasting more than a few seconds;\n " +
15+ " - if long-lasting transactions often appear in `pg_stat_activity` with ` 'idle in transaction'` state, this is a sign that delays happen on " +
16+ "application side; it is very important to reduce such delays as much as possible; \n " +
1717 " - if long-lasting transactions are read-only (for example, dumping tables using pg_dump, exporting data using " +
1818 "regular `SELECT` or `COPY`, or building some analytical reports), consider offloading this work to a replica; it is important " +
19- "that such replica works with `host_standby_feedback = off` and is allowed to lag significantly in applying WALs. \n "
19+ "that such replica works with `host_standby_feedback = off` and is allowed to lag significantly in applying WALs.\n "
0 commit comments