首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MongoDB 與 MySQL 慢查詢日誌啟用配置實戰:配置文件啟動與參數調優

     編輯:MySQL 綜合教學

MongoDB 與 MySQL 慢查詢日誌啟用配置實戰:配置文件啟動與參數調優

慢查詢日誌是資料庫效能調優的「聽診器」。本文提供 MongoDB(配置文件啟動模式)與 MySQL 5.6 兩大主流資料庫的慢查詢開啟標準配置,含關鍵參數解析與生產環境建議值。

一、MongoDB 3.x 配置文件啟動與慢查詢

1. 建立配置文件 /usr/local/mongodb/etc/mongodb.conf

# 數據與日誌路徑
dbpath = /var/mongodb/data
logpath = /var/mongodb/logs/log.log
pidfilepath = /usr/local/mongodb/mongodb.pid

# 慢查詢核心參數
profile = 2          # 0=關閉, 1=只記錄慢查詢, 2=記錄所有操作
slowms = 100         # 慢查詢閾值(毫秒),超過 100ms 記錄

# 運行模式
fork = true          # 後台守護進程
noauth = true        # 關閉認證(生產必須開啟)
# port = 27017
# maxConns = 1024

# 可選優化
# directoryperdb = true
# logappend = true
# cpu = true

2. 配置文件啟動

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/etc/mongodb.conf

成功輸出:

about to fork child process, waiting until server is ready for connections.
forked process: 389
child process started successfully, parent exiting

3. 參數深度解析

  • profile=2:開發/測試環境建議,全量記錄便於分析;生產環境建議 profile=1 避免日誌爆炸。
  • slowms=100:根據業務 SLA 調整,核心交易建議 50~100ms,報表查詢可放寬到 500~1000ms。
  • 日誌分析工具:mongolog、mtools、MongoDB Profiler (UI)。

二、MySQL 5.6 慢查詢日誌配置

編輯 my.cnf [mysqld] 區塊

# 錯誤日誌
log-error=/var/log/mysql-error.log

# 慢查詢日誌
slow_query_log = 1
slow_query_log_file = /www/web_logs/mysql/mysql-slow.log
long_query_time = 1          # 超過 1 秒記錄(可設 0.05 秒微秒級)
log_queries_not_using_indexes = 1  # 記錄未用索引查詢
min_examined_row_limit = 100       # 忽略掃描行數 < 100 的查詢

關鍵參數建議

參數建議值說明
long_query_time0.05 ~ 1核心業務 0.05s,綜合 1s。5.1+ 支援微秒。
log_queries_not_using_indexesON發現全表掃描,但會產生大量噪音,定期清理。
min_examined_row_limit100過濾小表全掃描噪音。
slow_query_log_file獨立磁碟/目錄避免與數據目錄爭搶 I/O。

日誌分析工具

  • mysqldumpslow:官方內建,按查詢時間/次數/掃描行排序。
  • pt-query-digest (Percona Toolkit):專業級分析,生成報告、EXPLAIN、索引建議。
  • mysqlsla、Anemometer (Web UI)。

雙資料庫慢查詢全開啟,效能調優有據可依。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved