MySql 運維性能優化

  1. 內存相關配置
    innodb_buffer_pool_size:這是 InnoDB 存儲引擎最重要的參數,用于緩存數據和索引。建議設置為服務器可用內存的 50%-70%(對于專用數據庫服務器)。
innodb_buffer_pool_size = 8G  # 根據服務器內存調整

innodb_log_buffer_size:用于緩存 InnoDB 日志。對于寫入頻繁的系統,可適當調大(默認 16M):

innodb_log_buffer_size = 64M

key_buffer_size:用于 MyISAM 表的索引緩存(如果使用 MyISAM):

key_buffer_size = 256M

query_cache_size:注意 MySQL 8.0 已移除查詢緩存,對于 5.7 及以下版本,如果查詢重復率高可開啟:

query_cache_size = 64M
query_cache_type = 1
  1. 連接與線程配置
    max_connections:最大并發連接數,根據業務需求調整:
max_connections = 1000

thread_cache_size:線程緩存大小,減少創建新線程的開銷:

thread_cache_size = 64

wait_timeout 和 interactive_timeout:控制空閑連接超時時間,避免連接泄露:

wait_timeout = 600
interactive_timeout = 600
  1. InnoDB 存儲引擎優化
    innodb_flush_log_at_trx_commit:控制事務日志刷新策略:
    1(默認):每次事務提交都刷新到磁盤,最安全但性能較低
    0:每秒刷新一次,性能好但可能丟失 1 秒數據
    2:提交時寫入日志文件但不立即刷新到磁盤
innodb_flush_log_at_trx_commit = 1  # 對數據安全性要求高時使用

innodb_file_per_table:為每個表創建獨立的表空間,便于管理:

innodb_file_per_table = 1

innodb_log_file_size 和 innodb_log_files_in_group:日志文件大小和數量:

innodb_log_file_size = 1G
innodb_log_files_in_group = 2

innodb_flush_method:控制 InnoDB 如何刷新數據到磁盤,建議在 Linux 下使用 O_DIRECT:

innodb_flush_method = O_DIRECT
  1. 查詢優化相關
    slow_query_log:開啟慢查詢日志,便于定位性能問題:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2  # 超過2秒的查詢記錄為慢查詢

join_buffer_size:表連接緩存,不宜過大(默認 256K):

join_buffer_size = 256K

sort_buffer_size:排序緩存,每個連接獨占,不宜過大:

sort_buffer_size = 2M
  1. 其他重要配置
    max_allowed_packet:控制最大數據包大小,對于大字段(如 TEXT)需要調大:
max_allowed_packet = 64M

table_open_cache:表緩存數量,根據數據庫表數量調整:

table_open_cache = 2048

innodb_read_io_threads 和 innodb_write_io_threads:IO 線程數量,多核服務器可增加:

innodb_read_io_threads = 8
innodb_write_io_threads = 8

優化建議
根據工作負載調整:OLTP(事務處理)和 OLAP(分析處理) workload 需要不同的配置
逐步調整:每次只修改少數參數,測試性能變化
監控效果:使用SHOW STATUS、SHOW VARIABLES和EXPLAIN等工具監控優化效果
定期更新統計信息:執行ANALYZE TABLE或開啟innodb_stats_auto_recalc
考慮硬件因素:配置應與服務器硬件(CPU、內存、磁盤類型)相匹配
配置優化后,需要重啟 MySQL 服務使更改生效,并通過實際負載測試驗證優化效果。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90082.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90082.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90082.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UG 圖形操作-找圓心

【1】點擊分析-測量【2】 選擇點,點對話框【3】選擇圓弧中心【4】 選擇對象

Spring Boot 配置文件解析

一、前言SpringBoot 使用一個全局的配置文件,配置文件名固定的;application.propertiesapplication.yml配置文件的作用:修改SpringBoot自動配置的默認值;SpringBoot在底層都給我們自動配置好;YAML(YAML Ain…

【JS】事件類型(可addEventListener監聽)

文章目錄1. 窗口/視圖相關事件2. 鼠標事件3. 鍵盤事件4. 焦點事件5. 表單事件6. 觸摸事件(移動端)7. 其他重要事件使用示例 // 監聽滾動事件 useEffect(() > {const handleScroll () > {console.log("當前滾動位置:", window.scrollY);…

【3GPP】5G專用詞匯1

〇、在5G通信領域,類似RRU(遠端射頻單元)、UE(用戶終端)、BS(基站)的專業術語非常豐富,涵蓋設備、功能、架構、技術等多個層面。以下是分類整理的常見5G名詞及其說明: 一…

基于 FFT + VMD 預處理的 1DCNN?Informer 雙支路并行、多頭注意力融合分類模型

1? 引言 現代工業設備的運行狀態高度復雜、故障類型日趨多樣,單一特征處理或單一路徑模型常難以兼顧高精度與實時性。本期推出的模型**“FFT+VMD→1DCNN?Informer→多頭注意力”**流水線,將頻域分解與時序建模結合,通過雙支路并行特征提取和注意力融合,在旋轉機械、電力…

ndarray的創建(小白五分鐘從入門到精通)

ndarray的創建用途方法語法示例核心作用輸出示例基礎構造? 從 Python 數據結構創建np.array()np.array([[1, 2], [3, 4]])將列表/元組轉換為 ndarrayarray([[1, 2], [3, 4]])? 復制數組np.copy()np.copy(arr)創建獨立副本(深拷貝)與原數組相同但不共享…

考研數據結構Part1——單鏈表知識點總結

一、前言單鏈表是線性表的鏈式存儲結構,作為數據結構中最基礎也是最重要的線性結構之一,在考研數據結構科目中占有重要地位。本文將總結帶頭結點單鏈表的各項基本操作,包括初始化、插入、刪除、查找等,并附上完整C語言實現代碼&am…

筆試——Day15

文章目錄第一題題目思路代碼第二題題目:思路代碼第三題題目:思路代碼第一題 題目 平方數 思路 判斷?個數開根號之后左右兩個數的平?,哪個最近即可 代碼 第二題 題目: 分組 思路 枚舉所有的結果,找到第一個復合要…

物聯網全流程開發記錄

問題 有數據采集設備,服務器,上位機用戶顯示三部分,采集設備將采集的數據發送至服務器。服務器將數據保存,上位機讀取服務器保存的數據庫顯示。當出現多設備,多用戶時,如何通過多設備對應多用戶&#xff0c…

【LeetCode 熱題 100】46. 全排列——回溯

Problem: 46. 全排列 文章目錄整體思路完整代碼時空復雜度時間復雜度:O(N * N!)空間復雜度:O(N)整體思路 這段代碼旨在解決一個經典的組合數學問題:全排列 (Permutations)。給定一個不含重復數字的數組 nums,它需要找出其所有可能…

AXI接口學習

amba總線的發展axi協議是兩個接口之間的點對點的協議,主要是有5個通道。主機在寫地址(AW)通道上發送地址,并在寫數據(W)通道上將數據傳輸到從機。從機將接收到的數據寫入指定地址空間。從機完成寫操作&…

Validation - Spring Boot項目中參數檢驗的利器

Validation - Spring Boot項目中參數檢驗的利器 什么是Validation Sping Boot官方原文:When it comes to validating user input, Spring Boot provides strong support for this common, yet critical, task straight out of the box.Although Spring Boot support…

云服務器VS虛擬主機:如何抉擇?

開篇引入在當今數字化浪潮中,無論是個人站長想要搭建獨具風格的博客,展示自己的生活感悟與專業見解;還是中小企業期望構建官方網站,拓展線上業務版圖,提升品牌知名度;亦或是大型互聯網企業籌備高并發的電商…

不同相機CMOS噪點對熒光計算的影響

摘要:熒光成像是生物醫學、材料科學等領域的重要研究手段,其成像質量高度依賴傳感器噪聲特性。本文系統分析CMOS傳感器噪聲類型及其對熒光信號計算的影響機制,結合實驗數據探討不同CMOS架構的噪聲表現差異,提出針對性優化策略。研…

docker 常見命令使用記錄

1. swarm 集群 1. 集群創建 # 創建集群管理節點, --advertise-addr 指定節點管理通信地址,--data-path-addr 指定容器通信地址 docker swarm init --advertise-addr 1.14.138.35 --data-path-addr 1.14.138.35# --advertise-addr 指明當前work節點的…

KRaft 角色狀態設計模式:從狀態理解 Raft

這些狀態類是 Raft 協議行為的核心載體。它們包含轉移邏輯 和 節點在特定狀態下的所有行為和數據。QuorumState它是 KRaft 客戶端實現中狀態管理的核心,扮演著“狀態機上下文(Context)”和“狀態轉換協調者”的關鍵角色。QuorumState 是整個 …

Linux的磁盤存儲管理實操——(上)

一、Linux的設備文件分類 Linux的設備文件分類1、在Linux系統中設備文件是用來與外接交互的接口,它將內核中的硬件設備與文件系統關聯起來,讓用戶可以像操作普通文件一樣來操作硬件設備,同時也為開發者提供了方便而強大的應用程序接口。 2、L…

內核bpf的實現原理

bpftrace能幫我們干什么?1、統計 tcp連接的生命時長、2、統計mysql執行一條sql語句的時間3、統計redis執行命令的時間、 4、對文件進行一次讀或者寫的時間。 常用命令: bpftrace -e Begin { printf("hello\n"); } bpftrace -l *enter_accep…

前端npm配置Nexus為基礎倉庫

步驟: 一、Nexus倉庫配置 新增npm倉庫,具體詳解見 Nexus私有倉庫配置,解釋 注:Nexus的版本需要至少3.38以上,不然會出現npm install 時npm的審計功能報錯,導致install失敗。雖然在3.38以后不會報400錯誤&#xff0c…

數據結構 之 【排序】(直接插入排序、希爾排序)

目錄 1.直接插入排序 1.1直接插入排序的思想 1.2直接插入排序的代碼邏輯: 1.3 直接插入排序圖解 1.4單趟排序代碼(單個元素的排序邏輯) 1.5完整排序代碼 1.6直接插入排序的時間復雜度與空間復雜度 1.7直接插入排序的優勢 2.希爾排序(縮小增量排序) 2.1…