openGauss學(xué)習(xí)筆記-222 openGauss性能調(diào)優(yōu)-系統(tǒng)調(diào)優(yōu)-操作系統(tǒng)參數(shù)調(diào)優(yōu)222.1 前提條件222.2 內(nèi)存相關(guān)參數(shù)設(shè)置222.3 網(wǎng)絡(luò)相關(guān)參數(shù)設(shè)置222.4 I/O相關(guān)參數(shù)設(shè)置
openGauss學(xué)習(xí)筆記-222 openGauss性能調(diào)優(yōu)-系統(tǒng)調(diào)優(yōu)-操作系統(tǒng)參數(shù)調(diào)優(yōu)
在性能調(diào)優(yōu)過(guò)程中,可以根據(jù)實(shí)際業(yè)務(wù)情況修改關(guān)鍵操作系統(tǒng)(OS)配置參數(shù),以提升openGauss數(shù)據(jù)庫(kù)的性能。
222.1 前提條件
需要用戶使用gs_check檢查操作系統(tǒng)參數(shù)結(jié)果是否和建議值保持一致,如果不一致,用戶可根據(jù)實(shí)際業(yè)務(wù)情況去手動(dòng)修改。
222.2 內(nèi)存相關(guān)參數(shù)設(shè)置
配置“sysctl.conf”文件,修改內(nèi)存相關(guān)參數(shù)vm.extfrag_threshold為1000(參考值),如果文件中沒(méi)有內(nèi)存相關(guān)參數(shù),可以手動(dòng)添加。
vim /etc/sysctl.conf
修改完成后,請(qǐng)執(zhí)行如下命令,使參數(shù)生效。
sysctl -p
222.3 網(wǎng)絡(luò)相關(guān)參數(shù)設(shè)置
- 配置“sysctl.conf”文件,修改網(wǎng)絡(luò)相關(guān)參數(shù),如果文件中沒(méi)有網(wǎng)絡(luò)相關(guān)參數(shù),可以手動(dòng)添加。詳細(xì)說(shuō)明請(qǐng)參見表1。
vim /etc/sysctl.conf
在修改完成后,請(qǐng)執(zhí)行如下命令,使參數(shù)生效。
sysctl -p
**表 1** 網(wǎng)絡(luò)相關(guān)參數(shù)
| 參數(shù)名 | 參考值 | 說(shuō)明 |
| --- | --- | --- |
| net.ipv4.tcp_timestamps | 1 | 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認(rèn)為0,表示關(guān)閉,1表示打開。 |
| net.ipv4.tcp_mem | 94500000 915000000 927000000 | 第一個(gè)數(shù)字表示,當(dāng)tcp使用的page少于 94500000 時(shí),kernel不對(duì)其進(jìn)行任何的干預(yù)。第二個(gè)數(shù)字表示,當(dāng)tcp使用的page超過(guò) 915000000 時(shí),kernel會(huì)進(jìn)入“memory pressure”壓力模式。第三個(gè)數(shù)字表示,當(dāng)tcp使用的pages超過(guò) 927000000 時(shí),就會(huì)報(bào):Out of socket memory。 |
| net.ipv4.tcp_max_orphans | 3276800 | 最大孤兒套接字(orphan sockets)數(shù)。 |
| net.ipv4.tcp_fin_timeout | 60 | 表示系統(tǒng)默認(rèn)的TIMEOUT時(shí)間。 |
| net.ipv4.ip_local_port_range | 26000 65535 | TCP和UDP能夠使用的port段。 |
-
設(shè)置10GE網(wǎng)卡最大傳輸單元(MTU),使用ifconfig命令設(shè)置。10GE網(wǎng)卡推薦設(shè)置為8192,可提升網(wǎng)絡(luò)帶寬利用率。
示例:
#ifconfig ethx mtu 8192
#ifconfig ethx
ethx Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Mask:xxx.xxx.xxx.0
inet6 addr: fxxx::9xxx:bxxx:xxxa:1d18/64 Scope:Link
UP BROADCAST RUNNING MULTICAST **MTU:8192** Metric:1
RX packets:179849803 errors:0 dropped:0 overruns:0 frame:0
TX packets:40492292 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:17952090386 (17120.4 Mb) TX bytes:171359670290 (163421.3 Mb)
> [圖片上傳失敗...(image-b8b208-1708176482896)]
>
> **說(shuō)明:**
>
> * ethx為10GE數(shù)據(jù)庫(kù)內(nèi)部使用的業(yè)務(wù)網(wǎng)卡。
>
>
> * 第一條命令設(shè)置MTU,第二條命令驗(yàn)證是否設(shè)置成功,粗體部分為MTU的值。
>
>
> * 需使用root用戶設(shè)置。
-
設(shè)置10GE網(wǎng)卡接收(rx)、發(fā)送隊(duì)列(tx)長(zhǎng)度,使用ethtool工具設(shè)置。10GE網(wǎng)卡推薦設(shè)置為4096,可提升網(wǎng)絡(luò)帶寬利用率。
示例:
# ethtool -G ethx rx 4096 tx 4096
# ethtool -g ethx
Ring parameters for ethx:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
> [圖片上傳失敗...(image-2b6169-1708176482896)]
>
> **說(shuō)明:**
>
> * ethx為10GE數(shù)據(jù)庫(kù)內(nèi)部使用的業(yè)務(wù)網(wǎng)卡。
>
>
> * 第一條命令設(shè)置網(wǎng)卡接收、發(fā)送隊(duì)列長(zhǎng)度,第二條命令驗(yàn)證是否設(shè)置成功,示例的輸出表示設(shè)置成功。
>
>
> * 需使用root用戶設(shè)置。
222.4 I/O相關(guān)參數(shù)設(shè)置
設(shè)置hugepage屬性。通過(guò)如下命令,關(guān)閉透明大頁(yè)。
echo never >
/sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
修改完成后,請(qǐng)執(zhí)行如下命令,使參數(shù)生效。
reboot
?? 點(diǎn)贊,你的認(rèn)可是我創(chuàng)作的動(dòng)力!
?? 收藏,你的青睞是我努力的方向!
?? 評(píng)論,你的意見是我進(jìn)步的財(cái)富!
