网硕互联技术交流社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2166|回复: 0

MySQL利用多核处理器

[复制链接]

主题

帖子

0

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
0
发表于 2018-9-28 22:57:43 | 显示全部楼层 |阅读模式
在工作中可能遇到这样的情况,随着业务的增长,用户量也在逐渐增长,终究有一天,一到高峰期,数据库服务器CPU利用率直飚100%。

最简单的做法就是直接提升硬件性能,简单粗暴,直接有效。

假如我们最开始的服务器CPU核数是4,然后我们觉得4个有点扛不住,那就直接给他搞16个核。这下应该没啥问题了吧,用户访问站点貌似也比以前快了。但是不要高兴太早,当你打开任务管理器,你会发现利用率高的还是以前那几个核,或者说只有4个用的比较多,其它12位大爷感觉不接茬。

如果你去查一下innodb_read_io_threads和innodb_write_io_threads这两个变量的时候,你就回发现,它们的默认值是4。可以用以下语句查看这两个变量的值:


  1. show variables like '%_io_threads';
复制代码


那就往大放呗。如果你直接用set命令去修改,你就回发现,人家会告你这俩命令是只读变量。那好吧,只能在初始化文件中添加这两个变量了。找到mysql的安装目录,用管理员身份打开mysql.ini文件,在最后添加这么两句:


  1. innodb_read_io_threads=16

  2. innodb_write_io_threads=16
复制代码



重启MySQL服务,再去观察一下任务管理器,你就会发现,这次任务分配到每个处理器的任务量就均匀了些。


亲测可执行!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网硕互联技术交流社区

GMT+8, 2024-4-27 12:01 , Processed in 0.188462 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表