高性能參數模板簡介
由于關系數據庫MySQL版參數比較多,針對特定場景進行參數適配的學習成本比較高。為了滿足客戶對數據庫性能的需求,關系數據庫MySQL版推出了高性能參數模板,您可以將高性能參數模板直接應用于實例,或者基于該模板進一步配置參數模板。
在通常情況下,高性能參數模板能夠提升數據庫的性能。
高性能參數說明
數據庫版本5.7和8.0的相關高性能參數說明如下:
binlog_cache_size:在事務中,為二進制日志存儲SQL語句的緩存容量。該參數必須設置為2的冪次方。高性能參數模板將其默認值設置為較大值以提高性能。
高性能模板參數取值 默認參數值 2097152 32768 innodb_flush_log_at_trx_commit:該參數控制提交操作在嚴格遵守ACID合規性和高性能之間的平衡,此變量用于控制Redo Log向磁盤刷寫的策略。
高性能模板參數取值 默認參數值 2 1 參數值說明如下:
值為1:每次事務提交時,關系數據庫MySQL版都會把日志緩存區的數據寫入日志文件中,并且刷新到磁盤中。該值為默認參數模板的取值。
值為2:每次事務提交時,關系數據庫MySQL版都會把日志緩存區的數據寫入日志文件中,但是并不會同時刷新到磁盤上。該模式下,MySQL會每秒執行一次刷新磁盤操作。
說明
- 當設置為1,該模式是最安全的,但也是最慢的一種方式。在MySQL的服務崩潰或者服務器主機宕機的情況下,日志緩存區只有可能丟失最多一個語句或者一個事務。
- 當設置為2,該模式速度較快,較取值為0情況下更安全,只有在操作系統崩潰或者系統斷電的情況下,上一秒鐘所有事務數據才可能丟失。
sync_binlog:該參數控制MySQL服務器將二進制日志同步到磁盤的頻率。
高性能模板參數取值 默認參數值 1000 1 參數值說明如下:
值為1:每次binlog寫入后,都與磁盤同步、進行落盤。該值為默認參數模板的取值。
值為N:使binlog在每N次binlog日志文件寫入后與磁盤同步。N=1000為高性能參數模板的取值。
說明
- innodb_flush_log_at_trx_commit和sync_binlog兩個參數設置為1的時候,安全性最高,寫入性能最差。在MySQL的服務崩潰或者服務器主機宕機的情況下,日志緩存區只有可能丟失最多一個語句或者一個事務。但是會導致頻繁的磁盤寫入操作,因此該模式也是最慢的一種方式。
- 當sync_binlog=N(N>1 ),innodb_flush_log_at_trx_commit=2時,在當前模式下關系數據庫MySQL版的寫操作才能達到最高性能。
影響和風險
當innodb_flush_log_at_trx_commit參數設置為非默認值1時,降低了數據安全性,在系統崩潰的情況下,可能導致數據丟失。
當sync_binlog參數設置為非默認值1時,降低了數據安全性,在系統崩潰的情況下,可能導致binlog丟失。
操作步驟
實例數據庫版本為5.7或者8.0,都可按照如下步驟設置高性能參數模板。
在天翼云官網首頁的頂部菜單欄,選擇產品 > 數據庫 > 關系型數據庫 > 關系數據庫MySQL版,進入關系數據庫MySQL產品頁面。然后單擊管理控制臺,進入概覽頁面。
在左側導航欄,選擇MySQL > 參數模板,進入參數模板列表頁面。然后在頂部菜單欄,選擇區域和項目。
在參數模板列表中,找到高性能參數模板。
注意
高性能參數模板名稱為57-High-Performance和80-High-Performance。
管理高性能參數模板:
單擊操作列的應用,可以將高性能參數模板應用到相應版本的實例。
單擊操作列的對比,可以查看兩個參數模板的參數值差異。
在操作列選擇更多 > 復制,可以根據高性能參數模板創建新的參數模板。