屬性設置
更新時間 2025-09-23 09:21:41
最近更新時間: 2025-09-23 09:21:41
分享文章
本章節主要介紹分組管理中的屬性設置相關操作。包括“最大并發執行請求數”、“是否自動啟動分布式事務”、“是否禁止跨分片動作”等,可以根據應用需求修改參數配置。
操作步驟
- 在天翼云官網首頁的頂部菜單欄,選擇【產品?>?數據庫?>?關系型數據庫?>?分布式關系型數據庫】,進入分布式關系型數據庫產品頁面。然后單擊【管理控制臺】,進入【概覽】頁面。
- 在左側導航欄,選擇【DRDS?>?實例管理】,進入實例列表頁面。然后在頂部菜單欄,選擇區域和項目。
- 在實例列表中,找到目標實例,單擊【操作】列的【管理】,進入實例【基本信息】頁面。
- 單擊【分組管理】,進入目標實例的分組管理頁面。
- 在分組管理頁面,找到目標分組,單擊【屬性設置】按鈕,進入到屬性設置頁面。
- 在屬性設置頁面中,可以直接進行屬性值修改或單擊【重置】按鈕重置為默認值。
server 分組
| 屬性編碼 | 屬性名稱 | 說明 |
|---|---|---|
| clientFoundRows | clientFoundRows | 返回給客戶端的結果行數,顯示為找到(配置)行數,而不是被修改的行數。 |
| clientIgnoreSigpipe | clientIgnoreSigpipe | 阻止客戶端庫安裝一個SIGPIPE信號處理器。這個可以用于當應用程序已經安裝該處理器的時候避免與其發生沖突。 |
| clientInteractive | clientInteractive | 使用關閉連接之前的不活動交互超時,而不是等待超時秒數。客戶端的會話等待超時變量變為交互超時變量。 |
| clientNoSchema | clientNoSchema | 不允許“數據庫名.表名.列名”這樣的語法。 |
| clientIgnoreSpace | clientIgnoreSpace | 允許在函數名后使用空格。所有函數名可以預留字。 |
| frontWriteQueueSize | 數據匯集時的前端寫隊列大小 | 針對數據匯集場景。寫隊列用于暫存寫給前段連接的數據,隊列越大,越占用DBProxy內存,支持在線加載,但后續的請求才生效。 |
| enableDataMergeLimit | 開啟數據歸并排序限制 | 開啟限制歸并排序超過dataMergeLimit行數據后,可用內存如果小于20%,則中止這次歸并排序,支持在線加載,但后續的請求才生效。 |
| dataMergeLimit | 數據歸并排序限制行數 | 當需要歸并的數據行超過該行數后,對可用內存進行判斷,超過限制則中止排序,支持在線加載,但后續的請求才生效。 |
| frontConnectionIdleCheckThreshold | 前端連接空閑檢測閾值 | 當前端連接數超過此閾值時,才kill空閑前端連接(配置了【前端連接數不受限】屬性的用戶建立的連接不計算在內)。 |
| writeQueueLimit | 前端寫隊列的限制 | 是否開啟前端寫隊列的限制。 |
| writeQueueStop | 前端寫隊列的最大長度 | 前端寫隊列的最大長度,超過這個值,會暫停寫隊列。 |
| writeQueueRecover | 恢復寫隊列閾值 | 暫停寫隊列后,當隊列少于閾值,會恢復寫隊列。 |
| vip | vip | vip地址。 |
| sqlProtectorHandle | SQL黑名單處理方式 | SQL黑名單處理方式。 |
| autoAddSqlProtectorBlacklist | 發現過載語句時,是否自動加入黑名單 | 發現過載語句時,是否自動加入黑名單。 |
| enableRunningSlowSqlDetect | 開啟超慢SQL探測 | 開啟超慢SQL探測。 |
| runningSlowSqlThreshold | 正在執行的語句執行超過此時間算超慢SQL,單位秒 | 正在執行的語句執行超過此時間算超慢SQL,單位秒。 |
| runningSlowSqlDetectInterval | 正在執行的超慢語句探測間隔,單位秒 | 正在執行的超慢語句探測間隔,單位秒。 |
| maxSqlProtectorBlacklist | 過載保護SQL黑名單最大數量 | 過載保護SQL黑名單最大數量。 |
| insertHint | 附加Hint | 是否在每個執行語句上附加hint /* xx.xx.xx.xx: port -> xxx@xx.xx.xx.xx:port */。 |
| killSelect | 主動發起kill命令 | 連接異常關閉時,若最后一條執行的是 select。開關控制是否主動發起kill命令。 |
| optimizeTransactionSelect | 事務中select語句數據庫連接釋放優化 | 不開啟優化:從事務開始執行語句時就綁定對應分片的后端數據庫連接,直到事務完成才釋放后端數據庫連接。開啟優化:如果事務一開始執行的是select語句則不綁定后端數據庫連接,直到事務開始執行修改語句(update、delete、insert)才綁定對應分片的后端數據庫連接,事務完成釋放后端數據庫連接。 |
| processors | 多路IO復用反應器個數 | 前端連接及后端連接的read/write事件都是由這些反應器處理,默認與CPU的核數設置成一樣,如果并發不高時可適當調小。 |
| processorExecutor | 前端邏輯處理線程池大小 | 前端邏輯處理主要包括:MySQL數據包解析、SQL語法解析、SQL路由,后端數據匯聚處理線程池的大小也用了這個參數,后續獨立設置,默認設置為CPU核數的四倍,如果壓測性能上不去,可以適當調大此參數。 |
| idleTimeout | 連接空閑超時時間(毫秒) | 前后端連接都使用此參數,檢查線程發現連接距離上次使用超過了空閑超時時間,那么這個連接會被關閉,默認30分鐘。 |
| bindIp | DBProxy服務監聽的IP 地址 | DBProxy服務監聽的IP地址,默認值為0.0.0.0。 |
| dataNodeIdleCheckPeriod | 后端連接池清理時間間隔(毫秒) | 對連接池進行管理,idle連接數過多時回收連接,過小時創建連接,默認5分鐘(300000 毫秒)。 |
| processorBufferChunk | BufferPool中chunk大小(Byte) | BufferPool初始化時Socket Direct Buffer 的大小(字節),相比使用堆內內存少一次復制,加快socket讀寫速度,這個值與mysql數據包的大小相關,大部分數據包大小在chunk大小范圍內比較合理,但不宜設置過大,會造成內存浪費。 |
| processorBufferPool | BufferPool中chunk個數 | BufferPool總大小=processorBufferPool*processorBufferChunk。 |
| maxPacketSize | MySQL數據包最大長度(M) | 默認為16M,必須與MySQL設置max_allowed_packet_size參數一致。 |
| charset | 連接的初始化字符集 | 連接的初始化字符集,默認utf8。 |
| sqlExecuteTimeout | SQL執行超時的時間(毫秒) | 檢查線程發現后端SQL執行如果超過此時間,會主動斷開連接,返回錯誤給前端,默認300秒。 |
| processorCheckPeriod | 前后端連接狀態檢查間隔時間(毫秒) | 檢查線程按間隔時間定時對前后端連接狀態進行檢查, 對空閑超時、后端執行超時的連接作關閉處理,默認為1秒。 |
| dataNodeHeartbeatPeriod | 心跳間隔時間(毫秒) | 對后端所有讀、寫節點發起心跳的間隔時間,主要是用作主從切換,目前dbproxy的主從切換是由gateway實現, 所以此功能廢除,默認10秒。 |
| enableLargeDataMerge | 開啟大數據流式匯聚功能 | 是否開啟大數據流式匯聚的開關,true為開啟,false為關閉。 |
| frontendConnPrintInterval | 前端連接數打印間隔(毫秒) | 前端連接數打印間隔(毫秒),默認值60*1000。 |
| backendConnPrintInterval | 后端連接數打印間隔(毫秒) | 后端連接數打印間隔(毫秒),默認值60*1000。 |
| useStatementConditionExtract | 使用statement解釋去做條件抽取 | 是否使用statement解釋去做條件抽取。 |
| maxExecutionTime | mysql級別的SELECT最大執行時間,單位毫秒 | SELECT語句的執行超時,以毫秒為單位。如果該值為0,則不會啟用超時。 |
| enablePrepareStatement | 支持服務端PrepareStatement | 是否支持服務端PrepareStatement,true為支持,false為不支持。 |
transaction 分組
| 屬性編碼 | 屬性名稱 | 說明 |
|---|---|---|
| dtHoldRequestWhenLock | 是否hold住請求 | 出現補償時,是否hold住請求。 |
| dtHoldTimeOut | 請求hold住的時間(毫秒) | 出現補償鎖時,請求hold住的時間(毫秒)。 |
| dtBackupZkLock | 是否對釋放的鎖進行備份 | 是否對釋放的鎖進行備份。 |
| prohibitCrossTransaction | 是否禁止跨分片動作 | 是否禁止跨分片動作,true為禁止,false為不禁止。 |
| isMultiNodeSerialization | 是否進行串行化 | 一個寫SQL涉及多節點操作時,是否進行串行化。 |
| isAutoStartDT | 是否自動啟動分布式事務 | 當前事務不是分布式事務時,是否自動啟動分布式事務。 |
| isIgnoreRestartDT | 是否自動忽略后面的分布式事務 | 當重復啟動分布式事務時,是否自動忽略后面的分布式事務。 |
| maxTransactionTabLength | 分布式事務啟動時添加的標記的最大長度 | 分布式事務啟動時添加的標記的最大長度。 |
| compensationLock | 是否添加事務補償鎖 | 事務部分commit失敗,對表加鎖,默認為false。 |
| slaveMasterCommit | 是否先從后主提交 | commit的時候先對從節點commit再對主節點commit,默認值為false。 |
| txIsolation | 前端鏈接默認事務隔離級別 | READ_UNCOMMITTED=1,READ_COMMITTED=2,REPEATED_READ=3,SERIALIZABLE=4支持在線加載,但后續的請求才生效。 |
| sqlMode | SQL模式 | 前端鏈接默認SQL模式,與mysql的sql_mode屬性可選值保持一致,如不一致,則設置無效。 |
| enableXA | 是否開啟xa事務 | 是否開啟xa事務。 |
| xaStorage | XA事務狀態存儲 | XA事務狀態存儲。 |
| xaSubmitTimeout | XA事務提交超時時間,單位是秒 | XA事務提交超時時間,單位是秒。 |
| xaZkUrl | 用于XA存儲的ZK地址 | 用于XA存儲的ZK地址。 |
| xaZkPath | 用于XA存儲的ZK節點 | 用于XA存儲的ZK節點。 |
| xaZkDigest | 用于XA存儲的ZK Digest | 用于XA存儲的ZK Digest。 |
monitor 分組
| 屬性編碼 | 屬性名稱 | 說明 |
|---|---|---|
| enableMetricMonitor | 是否開啟指標監控 | 是否開啟指標監控。 |
| reportQueueLen | 上報隊列長度 | 上報隊列長度。 |
| monitorEventHandleThreads | 監控事件處理線程數 | 監控事件處理線程數,0表示配置為系統可用線程數。 |
| monitorEventQueueLen | 監控事件隊列長度 | 監控事件隊列長度。 |
說明將鼠標放在屬性編碼列可以顯示對應屬性的提示信息,大部分情況下按默認設置即可。