日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

性能參數(shù)調(diào)優(yōu)

更新時間:

AnalyticDB PostgreSQL版是一個開箱即用的產(chǎn)品,默認配置就適用大多數(shù)應用場景,但是您依然可以通過數(shù)據(jù)庫配置參數(shù)對系統(tǒng)進行微調(diào),以更好的性能滿足特定的業(yè)務場景。

參數(shù)生效級別

AnalyticDB PostgreSQL的參數(shù)分為如下四個級別,部分參數(shù)只能在固定級別設置。

級別

生效范圍

設置方法

SYSTEM級別

對該實例的所有庫所有用戶生效。

需要提交工單,由運維人員協(xié)助修改。

DATABASE級別

對設置的數(shù)據(jù)庫的所有會話生效。

設置命令如下:

ALTER DATABASE name SET parameter { TO | = } { value | DEFAULT };

ROLE級別

對設置的用戶的所有會話生效。

設置命令如下:

ALTER ROLE name SET parameter  { TO | = } { value | DEFAULT };

SESSION級別

對當前會話生效。

設置命令如下:

SET parameter  { TO | = } { value | DEFAULT };

目前支持提交工單修改的SYSTEM層參數(shù)如下:

參數(shù)名

默認值

單位

取值范圍

gp_autostats_mode

ON_NO_STATS

STRING

[NONE|ON_CHANGE|ON_NO_STATS]

gp_autostats_mode_in_functions

NONE

STRING

[NONE|ON_CHANGE|ON_NO_STATS]

gp_max_slices

50

INT

[0~1000]

log_rotation_size

102400

kB

[0~4194304]

master.rds_enable_vmem_protect

on

STRING

[on|off]

master.rds_max_non_super_conns

500

INT

[10~1000]

max_stack_depth

2048

kB

[100~2048000]

max_statement_mem

2048000

kB

[32768~2147483647]

optimizer

on

STRING

[on|off]

random_page_cost

4

DOUBLE

[0~1000]

rds.rds_enable_aliyun_oss_endpoint

on

STRING

[on|off]

rds.rds_enable_oss_endpoint_whitelist_check

on

STRING

[on|off]

rds_max_super_conns

50

INT

[10~100]

segment.rds_enable_vmem_proctect

off

STRING

[on|off]

segment.rds_max_non_super_conns

1000

INT

[10~3000]

statement_mem

2047000

kB

[50~2147483647]

statement_timeout

10800000

INT

[0~2147483647]

上述參數(shù)的具體介紹,請參見配置參數(shù)

說明

建議您優(yōu)先適用SESSION級別設置參數(shù),當確認不會對業(yè)務其他用戶產(chǎn)生副作用時,再設置為更高級別的參數(shù)。

參數(shù)說明

AnalyticDB PostgreSQL與性能有關(guān)的參數(shù)可以分為以下幾類:

  • 連接相關(guān)參數(shù)

    參數(shù)

    生效條件

    依賴關(guān)系

    描述

    max_connections

    重啟實例生效

    Segment節(jié)點的值需要是Master節(jié)點的3~5倍。

    max_connections與數(shù)據(jù)庫服務器并發(fā)連接的最大數(shù)量,是實例連接總數(shù)的硬性值,在master和segment上需要分布設置,一般不建議調(diào)整這個值,而是調(diào)整rds_max_non_super_conns,目前初始值是500,如果業(yè)務的并發(fā)短連接的場景,可以適當調(diào)大這個值,但最大不超過max_connections的值;rds_max_super_conns是super user的連接控制參數(shù),一般也不需要調(diào)整。

    max_prepared_transactions

    重啟實例生效

    • 推薦與max_connections一致。

    • max_prepared_transactions參數(shù)的值乘以2應大于rds_max_non_super_connsrds_max_super_conns的值。

    這個參數(shù)是實例中處于兩階段提交狀態(tài)的事務數(shù),初始設置為與max_connections的大小一致,如果在高并發(fā)的場景下報錯,需要增加這個值。

    rds_max_non_super_conns

    Reload Config生效

    • 應小于max_connections的值。

    • rds_max_non_super_conns的值與rds_max_super_conns的值的和應小于等于max_connections的值。

    • Segment節(jié)點的值需要是Master節(jié)點的3~5倍。

    非super user用戶最多可用連接數(shù)。

    rds_max_super_conns

    Reload Config生效

    • 應小于max_connections的值。

    • rds_max_non_super_conns的值與rds_max_super_conns的值的和應小于等于max_connections的值。

    • Segment節(jié)點的值需要是Master節(jié)點的3~5倍。

    super user用戶最多可用連接數(shù)。

  • 內(nèi)存控制參數(shù)

    參數(shù)

    取值范圍

    生效條件

    依賴關(guān)系

    描述

    shared_buffers

    千字節(jié)數(shù)

    重啟實例生效

    行存為主條件下,Segment值設置為實例內(nèi)存規(guī)格的25%,可適當增大。

    這個參數(shù)主要是控制共享緩沖區(qū)大小,需要在Master和Segment上分別進行設置。Master上的緩存頁面主要是數(shù)據(jù)字典表,Segment上緩存頁面主要行存表,AOCS表不受共享緩沖區(qū)的影響。一般情況下不需要用戶修改這個值。如果業(yè)務創(chuàng)建的表較多(>10萬)考慮在Master和Segment上增加這個值;如果存儲以行存表為主,在Segment上增加這個值。

    temp_buffers

    千字節(jié)數(shù)

    Reload Config生效

    稱之為臨時緩沖區(qū),用于數(shù)據(jù)庫會話訪問臨時表數(shù)據(jù),系統(tǒng)默認值為8M。可以在單獨的Session中對該參數(shù)進行設置,尤其是需要訪問比較大的臨時表時,將會有顯著的性能提升。

    gp_vmem_protect_limit

    千字節(jié)數(shù)

    重啟實例生效

    gp_vmem_protect_limit = gp_vmem / acting_primary_segments

    設置segment的所有postgres進程可以使用的內(nèi)存量(以MB為單位)。如果查詢超出該限制,系統(tǒng)不會分配內(nèi)存,查詢將失敗。請注意,這是本地參數(shù),必須為系統(tǒng)中的每個segment(包括primary和mirror)設置。

    為了防止內(nèi)存的過度分配,可以按照下面的估計一個安全的gp_vmem_protect_limit值:

    gp_vmem = ((SWAP + RAM) - (7.5GB + 0.05 * RAM)) / 1.7
    gp_vmem_protect_limit = gp_vmem / acting_primary_segments

    acting_primary_segment 使用segments數(shù)目進行估計,保守一些可以將mirror個數(shù)也算上,如果這個值設置的過小,會導致查詢失敗,需要對這個值進行調(diào)整。

    說明

    如需對資源隊列的內(nèi)存進行限制,建議修改資源隊列相關(guān)參數(shù),具體信息,請參見使用Resource Queue(資源隊列)進行負載管理

    gp_vmem_protect_segworker_cache_limit

    千字節(jié)數(shù)

    重啟實例生效

    查詢執(zhí)行器進程緩存的限制值。具有大量連接或空閑進程的系統(tǒng)可能希望減少這個值以釋放segment上的更多內(nèi)存。這是一個本地參數(shù),必須為每個segment設置。

    gp_resqueue_memory_policy

    none、auto、eager_free

    Reload Config生效

    啟用AnalyticDB PostgreSQL內(nèi)存管理的功能。一般查詢計劃被分成幾個階段,如果設置為eager_free 數(shù)據(jù)庫將在該階段結(jié)束時急速釋放分配給前一個階段的內(nèi)存,然后將新的內(nèi)存分配給新階段,使用這個參數(shù)會降低查詢執(zhí)行階段內(nèi)存不足的可能性,但也會帶來額外的性能開銷。當設置為auto,查詢內(nèi)存使用情況由statement_mem和資源隊列內(nèi)存限制來控制。

    statement_mem

    千字節(jié)數(shù)

    Reload Config生效

    • gp_resqueue_memory_policy設置為auto時生效。

    • 不超過max_statement_mem的值。

    為每個查詢分配主機內(nèi)存。使用此參數(shù)分配的內(nèi)存量不能超過max_statement_mem或查詢提交的資源隊列上的內(nèi)存限制。當gp_resqueue_memory_policy=auto時,statement_mem和資源隊列內(nèi)存限制了查詢內(nèi)存的使用。

    如果查詢需要額外的內(nèi)存,則會使用磁盤上的臨時溢出文件。

    該計算可用于估計各種情況下的合理值。

    ( gp_vmem_protect_limit GB * 0.9 ) / max_expected_concurrent_queries

    將gp_vmem_protect_limit設置為 8192MB (8GB) 并假設最大40個并發(fā)查詢和10%的緩沖區(qū)。

    (8GB * 0.9) / 40 = 184MB

    由于gp_resqueue_memory_policy設置為eager ,默認情況下此參數(shù)并沒有實際生效。

    max_statement_mem

    千字節(jié)數(shù)

    Reload Config生效

    (seghost_physical_memory) / (average_number_concurrent_queries)

    設置查詢的最大內(nèi)存限制。將statement_mem設置得太高,有助于在查詢處理期間避免segment主機上的內(nèi)存不足的錯誤。當gp_resqueue_memory_policy=auto時, statement_mem 和資源隊列內(nèi)存限制了控制查詢內(nèi)存的使用。考慮到單個段主機的配置,計算該設置如下:

    (seghost_physical_memory) / (average_number_concurrent_queries)

  • 工作負載相關(guān)參數(shù)

    參數(shù)

    取值范圍

    生效條件

    依賴關(guān)系

    描述

    gp_resqueue_priority

    Boolean

    重啟實例生效

    啟用或者禁用查詢優(yōu)先級。禁用此參數(shù)時,不會再查詢運行時評估現(xiàn)有的優(yōu)先級設置。如果業(yè)務對查詢性能要求較高,可以考慮關(guān)閉優(yōu)先級隊列。

    gp_resqueue_priority_cpucores_per_segment

    0.1~512.0

    重啟實例生效

    指定每個segment實例分配的CPU單元數(shù),這個參數(shù)在實例創(chuàng)建階段就分配完成,不正確的設置可能導致CPU使用率不足或查詢優(yōu)先級不能按照設計工作。

    gp_resqueue_priority_sweeper_interval

    500ms~15000ms

    重啟實例生效

    gp_resqueue_priority

    CPU時間片統(tǒng)計間隔,SQL執(zhí)行時,計算它的share值(根據(jù)優(yōu)先級以及計算gp_resqueue_priority_cpucores_per_segment出來)。越小越頻繁,優(yōu)先級設置帶來的效果越好。但是overhead越大。