免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 12262 | 回复: 32
打印 上一主题 下一主题

MySQL版《一周一议》之如何优化mysql配置参数(积分已转账-2012-12-19) [复制链接]

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-11 11:09 |只看该作者 |倒序浏览
20积分已转账,请注意查收!

2012年12月11日
感谢大家对上周话题的关注。
现在隆重宣布上周获得《Cassandra实战指南》的用户是:huzi1986
另外cenaluluxike2002各获得200积分奖励。
其他参与讨论的用户到将至少获得20积分,积分是需要管理员手工加,加上后会发站内信的。

本周的话题也是偏技术方面的。
对于所有类型的数据库优化来说,优化的地方无非是,硬件,系统,数据库软件配置,数据库架构,程序架构,sql语句这些方面下工夫。但是这些优化方案中成本最低,效果最好的是数据库软件配置参数优化,也就是通过调整mysql的参数来达到数据库优化的目的,不需要任何应用层的介入,也不会增加任何的硬件成本。所以mysql配置参数优化是刀中之王-------不是屠龙宝刀,是菜刀,居家\旅行必备工具。

今天我们的话题就是mysql 配置参数优化方案。

1、你认为最重要的,对mysql性能影响最大的几个配置参数。

2、针对OLTP环境+SSD硬盘,你的mysql优化参数。

3、贴出你的配置文件,附带业务环境和硬件配置,重点字段的备注。
例如:
业务环境:3D MMORPG
硬件环境:DELL R610  Intel(R) Xeon(R) CPU E5620  @ 2.40GHz *2  32GRAM
配置文件:


活动奖励:
1、每周会评选一位最活跃的用户,有一本mysql相关的书籍送出,本周送出的书籍是《PHP与MySQL权威指南》。

2、由于是话题讨论,所以每位参加者都能获得适当的积分奖励。最低20分,最高不限,^_^想要赚分的朋友也可以来凑热闹哟。

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
2 [报告]
发表于 2012-12-11 16:58 |只看该作者
我个人觉得对数据库性能影响最大的参数有以下几个:
innodb_buffer_pool_size = 4G
innodb_flush_log_at_trx_commit = 2
sync_binlog=1
query_cache_size = 512M


大家继续补充吧。

论坛徽章:
0
3 [报告]
发表于 2012-12-11 19:08 |只看该作者
chinafenghao 发表于 2012-12-11 16:58
我个人觉得对数据库性能影响最大的参数有以下几个:
innodb_buffer_pool_size = 4G
innodb_flush_log_at_t ...


随便聊天一下

innodb_flush_log_at_trx_commit  0 ,1, 2 这个就无需过度阐释,论坛讨论N次了
innodb_buffer_pool_size  这个虽说越大越好,但注意大内存下numa问题, 避免出现内存还有,但出现swap
innodb_flush_method  fsync【默认】 , o_direct , o_dsync,  这些参数设置后,会对事务日志IO, 数据刷盘的IO,产生影响,这些参数都跟linux kernel的实现有关系, 实际生产环境中,o_direct 跟默认模式的性能相差没有想象中那么大.

另外将ibdata 和 ib_logfile 分别放到不同的磁盘,进一步提升 IO的性能

另外跟IO相关的还有
innodb_io_capacity   默认是200页
innodb_log_file_size  这个太小需要计算合适大小, 如果是空间不够【达到某个百分比】,到checkpoint时候,很可能阻塞,严重影响性能
另外sync_binlog = 1  也就是说,每向二进制日志文件写入1条SQL或1个事务就需要flush一次磁盘, 这个虽然安全,性能应该不高, 生产环境中,我们是默认的0,
  楼下继续
   

论坛徽章:
0
4 [报告]
发表于 2012-12-11 21:09 |只看该作者
ssd  硬盘没有在生产中用,这个不好说。
我们公司在生产中除了配置好LS参数外,硬盘用的是raid10,以便提高IO性能,另外如果数据量较大,一定要做读写分离。

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
5 [报告]
发表于 2012-12-12 10:18 |只看该作者
我们主要用的是 innodb,这个参数是首要配置的:innodb_flush_log_at_trx_commit
然后我们必然要配置的是:skip-name-resolve

3楼讲的很好了,都没什么特别要说的了。
推荐大家一个工具吧:mysqltuner。

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
6 [报告]
发表于 2012-12-12 10:55 |只看该作者
@lxw2016@hunter_search
SSD的话
nnodb_io_capacity 这个参数是必须调整。

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
7 [报告]
发表于 2012-12-12 11:36 |只看该作者
https://tools.percona.com/ 给大家分享一个percona的工具吧,可以帮助你生成一个mysql配置文件。

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
8 [报告]
发表于 2012-12-12 13:33 |只看该作者
@seesea2517
这个工具的结果挺直观的。很棒

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
9 [报告]
发表于 2012-12-12 15:07 |只看该作者
seesea2517 发表于 2012-12-12 10:18
我们主要用的是 innodb,这个参数是首要配置的:innodb_flush_log_at_trx_commit
然后我们必然要配置的是: ...


这个工具可靠度有限,就跟相亲算命软件一样,还要注册{:3_197:}

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
10 [报告]
发表于 2012-12-12 15:33 |只看该作者
回复 9# action08


    不会吧,这个工具就是一个脚本,随处可以下载的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP