首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MyISAM 与 InnoDB 双引擎生产环境参数调优实战(4G 内存、RAID1、MySQL 5.5)

     編輯:MySQL 資料庫相關知識

基于真实硬件的 MyISAM/InnoDB 混合调优配置

环境:IBM S226、至强四核、4G RAM、2×80G RAID1、Windows Server 2003 32位、MySQL 5.5。实测配置供同规格机型参考。

一、通用核心参数

[mysqld]
skip-external-locking
skip-name-resolve
max_connections = 1024
query_cache_size = 16M
sort_buffer_size = 6M
read_buffer_size = 16M
table_cache = 512
  • skip-name-resolve:禁用 DNS 解析,授权表仅用 IP
  • sort_buffer_size:每连接独占,4G 内存建议 6-8M
  • read_buffer_size:全表扫描缓冲,每连接独占

二、MyISAM 专用参数

key_buffer_size = 256M      # 索引缓存,4G内存建议256-384M,过大反降性能
read_buffer_size = 4M       # 读查询缓冲
myisam_sort_buffer_size = 64M  # 修复/排序缓冲
join_buffer_size = 8M       # 关联查询缓冲

三、InnoDB 核心参数(重中之重)

innodb_buffer_pool_size = 1G        # 专用DB可占70-80%内存,此处留系统内存
innodb_additional_mem_pool_size = 16M
innodb_log_file_size = 256M         # 建议 buffer_pool 的 25%,单文件不超2G总和
innodb_log_files_in_group = 2
innodb_log_buffer_size = 3M
innodb_flush_log_at_trx_commit = 0  # 0/2 高性能,1 最安全;主库建议1
innodb_file_per_table = ON

关键权衡说明

  • innodb_flush_log_at_trx_commit=0:每秒刷盘,崩溃丢 1 秒事务,性能最强
  • =2:提交写文件不刷盘,仅 OS 崩溃/断电丢数据,折中推荐
  • =1(默认):每提交刷盘,ACID 完全保证,性能最弱
  • 主库建议 =1,从库/可重算数据可 =2

监控验证指标

SHOW VARIABLES LIKE '%query_cache%';
SHOW STATUS LIKE 'Qcache%';
# Qcache_lowmem_prunes 大 → 缓存不足
# Qcache_hits 大 → 缓存命中好
# Qcache_free_blocks 大 → 碎片多

迁移提示:32 位系统单进程寻址限制 2-3G,innodb_buffer_pool_size 不宜超 2G。64 位系统无此限制,建议升级 64 位 OS + MySQL。

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