MySQL优化服务器设置(MySQL优化配置文件)

解决问题:(主要是InnoDB引擎)

  • 理解MySQL部分运行原理?
  • 结合MySQL运行原理修改配置文件,优化MySQL服务器?

 

优化原则:

  • MySQL有大量可以修改的参数——但不应该随便去修改。保证基本的配置正确,例如InnoDB的Buffer Pool和日志文件缓存代销,如果防止出问题,就设置一下比较安全和稳健的值,剩下的配置就不用管了。(来自 《高性能MySQL》第八章)
  • 一次只改变一个设置!这是测试改变是否有益的唯一方法。
  • 正确的优化方式是通过基准测试迭代优化。

 

优化思路:

1. 优化MySQL服务器的最大连接数。

具体操作:参考博客 Mysql查看状态,连接数,线程数以及Mysql性能监控工具doDBA的使用以及优化

 

2. 优化须知(主要是InnoDB)

2.1 优化原理

2.1.1 InnoDB缓冲池(Buffer Pool)

如果大部分都是InnoDB表,InnoDB缓冲池或许比其他任何东西更需要内存。InnoDB缓冲池并不仅仅缓冲索引:它还会缓存行数据、自适应hash、插入缓存、锁,以及其他内部数据结构。InnoDB还使用缓冲池来帮助延迟写入,这样就能合并多个写入操作,然后一起顺序地写回。总之,InnoDB严重依赖缓冲区,你必须确认它分配了足够的内存,竟可能的大。

2.1.2 优化MySQL的I/O行为(以下内容来自《高性能MySQL》8.5小节)(如果不关心原理,可跳过2.1)

对于常见的应用,最重要的一部分内容是InnoDB日志文件大小、InnoDB怎样刷新它的日志缓冲,以及InnoDB怎样执行I/O。

InnoDB事务日志。

InnoDB使用日志来减少提交事务时的开销。因为日志中已经记录了事务,就无须在每个事务提交时把缓冲池的脏块刷新到磁盘中。事务修改的数据和索引通常会映射到表空间的随机位置,所以刷新这些变更到磁盘需要很多随机I/O。InnoDB假设使用的是常规磁盘(机械磁盘),随机I/O比顺序I/O要昂贵得多,因为一个I/O请求需要时间把磁头移动正确的位置,然后等待磁盘上读出需要的部分,再转到开始位置。

InnoDB用日志把随机I/O变成顺序I/O。一旦日志安全写到磁盘,事务就持久化了,即使变更还没有写到数据文件。如果一些糟糕的事情发生了(断电),InnoDB可以重放日志并恢复已经提交的事务。

当然,InnoDB最后还是必须把变更写到数据文件,因为日志有固定的大小。InnoDB日志是环形方式写的:当写到日志的尾部,会重新跳转到开头继续写,但不会覆盖还没应用到数据文件的日志记录,因为这样做会清掉已提交的唯一持久化记录。

InnoDB使用一个后台线程智能地刷新这些变更到数据文件。这个线程可以批量组合写入,使得数据写入更顺序,以提高效率。实际上,事务日志把数据文件的随机I/O转换为几乎顺序的日志文件和数据文件I/O。把刷新操作转移到后台使查询可以更快完成,并且缓和查询高峰时I/O系统的压力。

整体的日志文件大小受控于innodb_log_file_size和innodb_log_files_in_group两个参数,这对写性能非常重要。日志文件的总大小是每个文件的大小之和。默认情况下,只有两个5MB的文件,总共10MB。对高性能工作来说这太小了。至少需要几百MB或者上GB的日志文件。

InnoDB使用多个文件作为一组循环日志。通常不需要修改默认日志数量,只修改每个日志文件的大小即可。要修改日志文件,需要完全关闭MySQL,将旧的日志文件移到其他地方保存,重新配置参数,然后重启。一定要确保MySQL干净地关闭了,或者还有日志文件可以保证需要应用到数据文件的事务记录,否者数据库就无法恢复了!

通常不需要把日志缓冲区设置得非常大,推荐范围是1MB-8MB,一般来说就足够了,除非要写很多相当大的BLOB记录。较大的日志缓冲区在某些情况下也是有好处的:可以减少缓冲区中空间分配的争用。当配置一台有大点内存的服务器时,有时简单地分配32MB-128MB的日志缓冲。

日志缓冲必须被刷新到持久化存储,以确保提交的事务完全被持久化了。如果和持久化相比更在乎性能,可以修改innodb_flush_log_at_trx_commit变量来控制日志缓冲区刷新的频繁程度。可能的设置如下:

0 :把日志缓冲写到日志文件,并且每秒钟刷新一次,但是事务提交时不做任何事。

1 :将日志缓冲写到日志文件,并且每次事务提交都刷新到持久化存储。这是默认的(并且是最安全的)设置,改设置能保证不会丢失任何已经提交的事务,除非磁盘或者操作系统是“伪”刷新的。

2 :每次提交时把日志缓冲写到日志文件,但是并不刷新。InnoDB每秒做一次刷新。0与2最要的不同是(也是为什么2更合适),如果MySQL挂了,2不会丢失任何事务。如果整个服务器“挂了”或者断电了,则还是可能会丢失一些事务。

了解清楚“把日志缓冲写到日志文件”和“把日志刷新到持久化存储”之间的不同是很重要的。在大部分操作系统中,把缓冲写到日志只是简单地把数据从InnoDB的内存缓冲转移到操作系统的内存,并没有真的把数据写到持久化存储。

高性能事务处理需要的最佳配置是把innodb_flush_log_trx_commit设置为1且把日志文件放到一个有电池保护的写缓存的RAID卷中。

 

2.2 优化结果

[mysqld]

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# 以下配置是优化后的结果
# MySQL服务器最大连接数
max_connections=1000
# MySQL服务器线程缓存大小
thread_cache_size=500

# 日志缓冲刷新的频繁程度
innodb_flush_log_at_trx_commit=2
# InnoDB缓冲池
innodb_buffer_pool_size=10000M
# 每个日志文件的大小
innodb_log_file_size=512M
# 日志缓冲的大小
innodb_log_buffer_size=32M

(如果按照以上配置,Jmeter1000并发,数据连接池1000活跃连接,MySQL的写数据操作能到5000-7000TPS)

(测试结果)如果同样条件把innodb_flush_log_at_trx_commit改成1,TPS会下降3000左右。

 

转载于:https://www.cnblogs.com/mungerz/p/10416742.html

weixin_30949361
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL优化配置文件
12-14
MySQL优化配置文件 文章目录MySQL优化配置文件前言优化配置如下 前言 通常默认的 my.cnf 配置文件无法发挥出 MySQL 最高的性能,所以需要根据不同的硬件进行优化配置文件优化也是重点,下面是物理内存为 32G...
数据库系列MySQL优化配置文件
CancerKing的博客
11-30 2357
数据库系列MySQL优化配置文件
MySQL-配置优化
大虾好吃吗
03-31 811
MySQL参数优化对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。
MySQL 优化
最新发布
weixin_52765552的博客
07-17 1320
如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。即可查看缓冲的数据库连接数量,我们可以根据实际情况去改变这个配置值,如果程序处理较快,MySQL服务配置高,可相应的增大该值;2、如果查询中包含可为NULL的列,对mysql来说很难优化,应该尽量避免设计成可为null的列,可以把为null的字段变为一个空的字符串。
mysql配置优化
warrah 南极狼
07-25 593
mysql生产环境配置
关于 MySQL - my.ini 文件的基础配置和优化配置详解
Muxiu
03-01 2114
优化思路:数据库异步同步 三点:幕等 时序 延迟 按照我的理解又分为以下几个方面的层级。以下整理搬运学弟的,让自己在优化及调整的时候更方便,选择用到的,满足需求就好。MySQL配置文件优化
简单实现MySQL服务器优化配置方法
12-15
以下的文章主要介绍的是对MySQL服务器优化配置的时机操作步骤,同时本文也介绍了MySQL服务器优化配置的实际应用代码,如果你对其相关的实际应用感兴趣的话,你就可以点击以下的文章对其进行了解。 你能用这个...
MySQL 5.5.49 大内存优化配置文件优化详解
09-10
最近mysql服务器升级到了MySQL 5.5.49版本,性能比mysql 5.0.**肯定效率高了不少,但mysql的默认配置文件不合理,这里是针对大内存访问量大的机器的配置方案,需要的朋友可以参考下
MySQL 4G内存服务器配置优化
12-15
公司网站访问量越来越大(日均超10万PV),MySQL自然成为瓶颈,关于 MySQL优化,最基本的是 MySQL 系统参数的优化。... 由于my.cnf文件的优化设置是与服务器硬件配置息息相关的,因而我们指定一
MySQL5.6基本优化配置
12-15
下面开始优化下my.conf文件(这里的优化只是在mysql本身的优化,之前安装的时候也要有优化) cat /etc/my.cnf # For advice on how to change settings please see # ...
Mysql 优化的几种方法
兴趣是最好的老师,勤能补拙
05-15 5062
MySQL优化是指通过调整MySQL的各项参数和配置,以及优化SQL语句的编写和执行,提高MySQL系统的性能和可用性。MySQL优化的主要目标是尽可能快地响应用户请求,提高系统的处理能力和并发性能,减少资源消耗和硬件成本。MySQL优化涉及多个方面,包括:1.硬件配置:包括CPU、内存、磁盘等硬件资源的选择和配置,以满足系统的负载和性能需求。2.软件配置:包括MySQL的参数设置和调整,如缓存大小、连接数、并发处理数等,以适应不同的负载和访问模式。
如何优化MySQL参数:达到性能最佳状态
qq_47255712的博客
05-18 2496
优化MySQL参数的目标是使MySQL尽可能地使用系统资源,如内存、CPU和磁盘等,以提高其性能水平。这样可以让MySQL更加快速和稳定地处理大量的事务求。
Mysql的硬件优化和配置优化
QQ1057081261的专栏
07-07 371
如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。③物理内存对于一台使用MySQL的Database Server来说,服务器内存建议不要小于2GB,推荐使用4GB以上的物理内存,不过内存对于现在的服务器而言可以说是一个可以忽略的问题,工作中遇到了高端服务器基本上内存都超过了16G。mysql数据库优化,算是一个老生常谈的问题了,网上也有很多关于各方面性能优化的例子,今天我们要谈的是MySQL硬件优化和系统参数的优化-即优化my.cnf文件。
MySQL数据库配置优化
weixin_57435957的博客
11-23 5266
MySQL参数优化对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系, 优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。 下面列出了对性能优化影响较大 的主要变量,主要分为连接请求的变量和缓冲区变量 连接请求的变量: max_connections MySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多, MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适
mysql优化配置文件
weixin_71474937的博客
06-07 664
mysql优化配置文件
MySQL调优之服务器参数设置
shw12357的专栏
09-24 389
服务器参数设置 general datadir=/var/lib/mysql 数据文件存放的目录 socket=/var/lib/mysql/mysql.sock mysql.socket表示server和client在同一台服务器,并且使用localhost进行连接,就会使用socket进行连接 pid_file=/var/lib/mysql/mysql.pid 存储mysql的pid port=3306 mysql服务的端口号 default_storage_engi
mysql5.7 优化配置,服务器为16核32GB。
weixin_44832318的博客
11-01 1749
mysql5.7配置优化
MySQL 性能调优和优化技巧
热门推荐
allway2的博客
08-03 1万+
如果您的查询不断备份,则更好的过程是使用。如果您的内存不足,您的服务器将缓存数据存储(如硬盘)以充当内存。在示例查询中,在末尾使用通配符有助于降低查询成本,因为要经过更少的表行。MySQL 是一种流行的开源数据库应用程序,它以一种有意义且易于访问的方式存储和构造数据。与tuning-primer 一样,它会分析您的数据库配置,寻找瓶颈和低效率。日志文件建议是列表中的第一个,但如果您滚动到底部,您可以看到提高 MySQL 性能的一般建议。如果您需要这些数据,那很好,但是包含不需要的数据会浪费性能。...
MYSQL调优设置(专用MySql数据库服务器
飙歌的博客
03-18 589
一个数据包或任何生成的或中间字符串的最大大小,或由#mysql_stmt_send_long_data()C API函数。#日志文件的大小限制为缓冲池大小的25%-100%,以避免 #日志文件覆盖时不需要的缓冲池刷新活动。然而#请注意,较大的日志文件大小将增加恢复过程。#在专用数据库服务器上,您可以设置#参数高达机器物理内存大小的80%。不要设置它#不过,太大了,因为物理内存的竞争可能#导致操作系统中出现分页。#用于普通索引扫描、范围索引扫描和不使用的联接的缓冲区的最小大小#索引,从而执行完整的表扫描。
设置MySQL服务器具有文件读取权限
06-08
1. 打开MySQL配置文件my.cnf。 2. 找到[mysqld]节,并添加以下一行: ```ini secure_file_priv = /path/to/directory ``` 其中,`/path/to/directory`是一个目录,MySQL只能从这个目录中读取文件。 3. 保存并...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • shell脚本注释方法 13202
  • Message": "请求的资源不支持 http 方法“GET” 12538
  • git -C <other-git-repo-path> [git-command] 指定其它路径的仓库 执行命令 10430
  • 正则表达式 1到100之间的整数 10186
  • 互联网的两大组成及其特点 9301

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • ES6入门:iterator迭代器
  • ES6入门九:Symbol元编程
  • Unable to cast object of type 'System.String' to type 'System.Int32'.
2019年787篇
2018年717篇
2017年730篇
2016年542篇
2015年403篇
2014年281篇
2013年277篇
2012年206篇
2011年140篇
2010年121篇
2009年107篇
2008年71篇
2007年54篇
2006年32篇
2005年11篇
2004年12篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司唐山关键词按天计费上饶百度seo茂名网站优化价格定西关键词排名公司黄冈网站排名优化哪家好平顶山网站优化软件推荐平顶山网站推广方案推荐长沙网站优化软件公司和田网站改版晋城关键词排名报价阿里seo哪家好临汾企业网站建设塘坑建设网站公司绥化模板网站建设推荐马鞍山网站制作多少钱安庆推广网站报价焦作网站优化排名报价武威营销型网站建设公司坂田企业网站设计价格雅安SEO按天计费推荐抚顺seo排名多少钱桂林模板网站建设多少钱海南网站推广哪家好遂宁高端网站设计哪家好营口网站改版推荐清远网站优化排名宜宾百度竞价报价通化seo排名价格张家口百度竞价多少钱陇南网站优化推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化