日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

PostgreSQL 的事務(wù) ID 回卷,應(yīng)對措施也很簡單

來源: 責(zé)編: 時間:2024-05-17 08:58:52 167觀看
導(dǎo)讀事務(wù) ID 回卷大多數(shù)人最初意識到這個問題,認(rèn)為他們需要監(jiān)控的問題,就是事務(wù) ID 回卷本身,但從技術(shù)上講,事務(wù) ID 的耗盡才是真正的問題。PostgreSQL 在技術(shù)上能夠很好地處理事務(wù) ID 的回卷。但是,如果達(dá)到回卷點,事務(wù) ID 會

事務(wù) ID 回卷

大多數(shù)人最初意識到這個問題,認(rèn)為他們需要監(jiān)控的問題,就是事務(wù) ID 回卷本身,但從技術(shù)上講,事務(wù) ID 的耗盡才是真正的問題。PostgreSQL 在技術(shù)上能夠很好地處理事務(wù) ID 的回卷。但是,如果達(dá)到回卷點,事務(wù) ID 會即將用完,這才是為什么回卷本身會令人擔(dān)憂的原因。g9728資訊網(wǎng)——每日最新資訊28at.com

檢查事務(wù) ID 耗盡

以下查詢可以提供非常簡單的數(shù)據(jù),來指示問題的趨勢/警報。g9728資訊網(wǎng)——每日最新資訊28at.com

WITH max_age AS (    SELECT 2000000000 as max_old_xid        , setting AS autovacuum_freeze_max_age        FROM pg_catalog.pg_settings        WHERE name = 'autovacuum_freeze_max_age' ), per_database_stats AS (    SELECT datname        , m.max_old_xid::int        , m.autovacuum_freeze_max_age::int        , age(d.datfrozenxid) AS oldest_current_xid    FROM pg_catalog.pg_database d    JOIN max_age m ON (true)    WHERE d.datallowconn )SELECT max(oldest_current_xid) AS oldest_current_xid    , max(ROUND(100*(oldest_current_xid/max_old_xid::float))) AS percent_towards_wraparound    , max(ROUND(100*(oldest_current_xid/autovacuum_freeze_max_age::float))) AS percent_towards_emergency_autovacFROM per_database_stats;

percent_towards_wraparound 指標(biāo)是設(shè)置警報的真正關(guān)鍵指標(biāo)。由于它使用 age() 函數(shù)來確定事務(wù) ID 值,因此它會考慮它們是否真的處于耗盡點,以查看回卷是否是一個真正的問題。如果達(dá)到耗盡,數(shù)據(jù)庫將被迫關(guān)閉,并可能導(dǎo)致不確定的停機時間,以進(jìn)行修復(fù)。此查詢中有一點緩沖,因為它檢查的上限(確切地說是 20 億)小于導(dǎo)致耗盡的實際最大整數(shù)值。但它已經(jīng)足夠接近了,應(yīng)該立即對達(dá)到 100% 的警報采取行動。g9728資訊網(wǎng)——每日最新資訊28at.com

percent_towards_emergency_autovac 指標(biāo)是我們建議監(jiān)控的一個附加值,特別是對于以前從未監(jiān)控過此指標(biāo)的系統(tǒng)(請參閱下面有關(guān)凍結(jié)的近期好處的說明,了解何時可以調(diào)低該警報優(yōu)先級或移除它)。它將監(jiān)視數(shù)據(jù)庫中達(dá)到 autovacuum_freeze_max_age 的最高事務(wù) ID 值。g9728資訊網(wǎng)——每日最新資訊28at.com

這是一個用戶可調(diào)的值,默認(rèn)值為 2 億,當(dāng)任何表的最高事務(wù) ID 值達(dá)到該值時,在該表上會啟動一次更高優(yōu)先級的自動清理。您可以識別出這個特殊的清理會話,因為在 pg_stat_activity 中,它會被標(biāo)記為 (to prevent wraparound)。從某種意義上說,它的優(yōu)先級更高,即使禁用了自動清理,它也會運行,如果手動取消該清理,它幾乎會立即再次重新啟動。它還需要一些不同的內(nèi)部低級鎖,因此根據(jù)它們在緊急清理期間的鎖定方式,可能會在這些表上引起稍高的爭用。g9728資訊網(wǎng)——每日最新資訊28at.com

如果您確實遇到爭用/鎖定問題,并且可以確認(rèn)問題來源于緊急清理,那么取消它以完成其他事務(wù)也是完全安全的。請注意,它會繼續(xù)重新啟動,直到能夠成功完成回卷式清理或運行了一次手動清理。g9728資訊網(wǎng)——每日最新資訊28at.com

對于每秒事務(wù)數(shù)很高的數(shù)據(jù)庫,想要避免緊急清理期的頻繁出現(xiàn),增加 autovacuum_freeze_max_age 可能是有益的。增加此值的主要問題是,它可能會增加數(shù)據(jù)目錄下 pg_xact 和 pg_commit_ts 文件夾中的存儲空間。同樣,請閱讀上面鏈接中的日常清理文檔,了解調(diào)整此設(shè)置時的這些存儲要求。一般可以將此值設(shè)置為 10 億,不會有太大問題,但前提是需要確定有在監(jiān)控回卷并且磁盤空間足夠。g9728資訊網(wǎng)——每日最新資訊28at.com

修復(fù)事務(wù) ID 耗盡

要使最高事務(wù) ID 的 age 值回落,最簡單(但不一定是最快)的方法是,強制對整個數(shù)據(jù)庫集群進(jìn)行一次清理。要實現(xiàn)這種集群范圍的清理,最好方法是用 PostgreSQL 附帶的 vacuumdb 二進(jìn)制實用程序。g9728資訊網(wǎng)——每日最新資訊28at.com

vacuumdb --all --freeze --jobs=2 --echo --analyze

--all 選項可確保對所有數(shù)據(jù)庫都進(jìn)行清理,因為事務(wù) ID 是一個全局值。--freeze 選項可確保運行更激進(jìn)的清理,以確保在該表中凍結(jié)盡可能多的元組(有關(guān)凍結(jié)的詳細(xì)信息,請參閱日常清理)。g9728資訊網(wǎng)——每日最新資訊28at.com

--jobs=2 允許并行運行多個清理。這應(yīng)該設(shè)置在系統(tǒng)處理能力的范圍內(nèi),以加快速度,但要小心設(shè)置得太高,因為它會導(dǎo)致額外的 IO 和更快地生成 WAL(增加磁盤使用率)。--echo 只是提供一些很小的反饋,以讓您可以看到一些進(jìn)度。--analyzeg9728資訊網(wǎng)——每日最新資訊28at.com

凍結(jié)的短期好處

在這里要提到的 --freeze 選項的另一個好處是,在未來的清理操作中,可以大大減少 IO 和 WAL 的產(chǎn)生。PostgreSQL 9.6 引入了一項功能,如果頁面中的所有元組都已標(biāo)記為凍結(jié),則 vacuum 能夠跳過該頁面。PostgreSQL 11 在索引方面對此進(jìn)行了進(jìn)一步改進(jìn)。g9728資訊網(wǎng)——每日最新資訊28at.com

因此,如果您有很多舊表不再被寫入,那么當(dāng)它們因任何原因需要 vacuum 時,這是一個成本低得多的操作。這也讓 percent_towards_emergency_autovac 警報不那么令人擔(dān)憂,因為它不會產(chǎn)生太多意外的突發(fā)活動。因此,一旦你把事情調(diào)整好了,你可以把這個警報看作是低優(yōu)先級的警告,甚至可以刪除它,只用擔(dān)心對回卷本身的監(jiān)控。g9728資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-88733-0.htmlPostgreSQL 的事務(wù) ID 回卷,應(yīng)對措施也很簡單

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 從零開始搭建 Kafka 集群

下一篇: 我們一起聊聊Go語言中的數(shù)組和切片

標(biāo)簽:
  • 熱門焦點
  • 石頭智能洗地機A10 Plus體驗:雙向自清潔治好了我的懶癌

    一、前言和介紹專為家庭請假懶人而生的石頭科技在近日又帶來了自己的全新旗艦新品,石頭智能洗地機A10 Plus。從這個產(chǎn)品名上就不難看出,這次石頭推出的并不是常見的掃地機器
  • 太卷!Redmi MAX 100英寸電視便宜了:12999元買Redmi史上最大屏

    8月5日消息,從小米商城了解到,Redmi MAX 100英寸巨屏電視日前迎來官方優(yōu)惠,到手價12999元,比發(fā)布價便宜了7000元,在大屏電視市場開卷。據(jù)了解,Redmi MAX 100
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數(shù)量是否小于或等于一個數(shù)字。例如,一個擁有三個或更多子項的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個組件或一個布局可能會
  • 三言兩語說透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是兩種很有用的技術(shù),可以幫助我們寫出更加優(yōu)雅、泛用的函數(shù)。本文將首先介紹柯里化和反柯里化的概念、實現(xiàn)原理和應(yīng)用
  • 三分鐘白話RocketMQ系列—— 如何發(fā)送消息

    我們知道RocketMQ主要分為消息 生產(chǎn)、存儲(消息堆積)、消費 三大塊領(lǐng)域。那接下來,我們白話一下,RocketMQ是如何發(fā)送消息的,揭秘消息生產(chǎn)全過程。注意,如果白話中不小心提到相關(guān)代
  • Temu起訴SHEIN,跨境電商戰(zhàn)事升級

    來源 | 伯虎財經(jīng)(bohuFN)作者 | 陳平安日前據(jù)外媒報道,拼多多旗下跨境電商平臺Temu正對競爭對手SHEIN提起新訴訟,訴狀稱Shein“利用市場支配力量強迫服裝廠商與之簽訂獨家
  • 當(dāng)家的盒馬,加速謀生

    來源 | 價值星球Planet作者 | 歸去來自己“當(dāng)家”的盒馬,開始加速謀生了。據(jù)盒馬官微消息,盒馬計劃今年開放生鮮供應(yīng)鏈,將其生鮮商品送往食堂。目前,盒馬在上海已經(jīng)與
  • 東方甄選單飛:有些鳥注定是關(guān)不住的

    文/彭寬鴻編輯/羅卿東方甄選創(chuàng)始人俞敏洪帶隊的“7天甘肅行”直播活動已在近日順利收官。成立后一年多時間里,東方甄選要脫離抖音自立門戶的傳聞不絕于耳,“7
  • Counterpoint :OPPO雙旗艦戰(zhàn)略全面落地 高端產(chǎn)品銷量增長22%

    2023年6月30日,全球行業(yè)分析機構(gòu)Counterpoint Research發(fā)布的《中國智能手機高端市場白皮書》顯示,中國智能手機品牌正在尋求高質(zhì)量發(fā)展,中國高端智能
Top 主站蜘蛛池模板: 张家川| 青阳县| 昂仁县| 山东省| 郴州市| 德清县| 曲麻莱县| 昭苏县| 团风县| 娱乐| 项城市| 玉门市| 华蓥市| 锡林浩特市| 专栏| 伊金霍洛旗| 黑龙江省| 蓬溪县| 成都市| 曲阳县| 岢岚县| 平潭县| 建湖县| 海安县| 万全县| 余庆县| 大邑县| 抚松县| 大连市| 阳西县| 政和县| 昭苏县| 瓮安县| 辽源市| 河曲县| 攀枝花市| 唐山市| 郧西县| 甘泉县| 奉贤区| 万源市|