博客
关于我
mysql5.7性能调优my.ini
阅读量:791 次
发布时间:2023-02-11

本文共 1519 字,大约阅读时间需要 5 分钟。

MySQL服务器性能优化指南:基于128GB内存环境的配置实践

服务器性能调优:关键配置分析

在128GB内存的服务器环境下,MySQL的性能调优是一个复杂而重要的任务。本文将深入分析适用于这一环境的关键配置选项,并提供实用的优化建议。

客户端配置

MySQL客户端的配置同样关键,以下是需要注意的设置:

  • port=3306:默认MySQL端口配置。
  • [mysql] default-character-set=utf8:确保客户端使用UTF-8字符集。

MySQL服务器核心配置

MySQL服务器配置是性能优化的核心,以下是需要重点关注的设置:

二进制日志配置

  • [binlog] log_bin=mysql3306-binlog:启用二进制日志。
  • binlog_format=ROW:建议使用ROW格式,适合大多数OLTP场景。
  • expire_logs_days=30:默认保留30天的二进制日志历史。
  • sync_binlog=1:每次事务提交时同步二进制日志至磁盘,确保数据安全。

慢查询和日志设置

  • slow_query_log=on:启用慢查询日志。
  • long_query_time=1:默认阈值为1秒,记录超过阈值的慢查询。
  • log_queries_not_using_indexes=1:记录未使用索引的查询。

GTID主从配置

  • server-id=1:主服务器ID。
  • log_bin= mysql3306-binlog:二进制日志文件路径。
  • gtid_executed_block_committed=1:默认设置,确保主从复制的高可靠性。

InnoDB优化

InnoDB是MySQL的默认存储引擎,以下是优化关键配置:

  • innodb_buffer_pool_size=107374182400:建议根据内存情况设置缓冲池大小。
  • innodb_page_size=16K:默认值,建议根据硬件调整。
  • innodb_io_capacity=5000:根据硬盘IOPS调整。
  • innodb_flush_log_at_trx_commit=1:默认设置,确保事务日志安全写入。

连接设置

  • max_connections=3000:根据负载调整连接数。
  • wait_timeout=172800:非交互式连接空闲超时时间。
  • interactive_timeout=172800:交互式连接空闲超时时间。

事务设置

  • transaction_isolation=READ-COMMITTED:默认事务隔离级别,确保高并发场景的安全性。
  • autocommit=on:默认启用自动提交事务。

查询缓存设置

  • query_cache_type=0:关闭查询缓存,避免内存泄漏。
  • query_cache_size=0:清空查询缓存,减少内存占用。

其他重要设置

  • innodb_flush_neighbors=1:默认设置,建议在SSD环境下关闭(innodb_flush_neighbors=0)。
  • innodb_max_dirty_pages_pct=85:默认设置,允许缓冲池中最多保留85%的页面。

性能监控与优化

  • performance_schema=1:启用性能监控。
  • memlock=true:锁定内存,避免内存交换。
  • event_scheduler=off:关闭定时任务调度器,减少资源消耗。

总结

在128GB内存的服务器环境下,MySQL的性能优化需要综合考虑内存使用、查询效率、事务安全性以及主从复制等多方面因素。以上配置是基于实际场景的最佳实践,建议根据具体需求进行调整和优化,同时定期监控数据库性能,确保服务器运行在最优状态。

转载地址:http://wnbfk.baihongyu.com/

你可能感兴趣的文章
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
mysql problems
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>