MySql参数性能调优
2023-02-18 16:45:42 时间
在工作中可能遇到这样的情况,随着业务的增长,用户量也在逐渐增长,终究有一天,一到高峰期,数据库服务器CPU利用率直飚100%。
最简单的做法就是直接提升硬件性能,简单粗暴,直接有效。
假如我们最开始的服务器CPU核数是4,然后我们觉得4个有点扛不住,那就直接给他搞16个核。这下应该没啥问题了吧,用户访问站点貌似也比以前快了。但是不要高兴太早,当你打开任务管理器,你会发现利用率高的还是以前那几个核,或者说只有4个用的比较多,其它12位大爷感觉不接茬。
如果你去查一下innodb_read_io_threads和innodb_write_io_threads这两个变量的时候,你就回发现,它们的默认值是4。可以用以下语句查看这两个变量的值:
show variables like '%_io_threads'
1
那就往大放呗。如果你直接用set命令去修改,你就回发现,人家会告你这俩命令是只读变量。那好吧,只能在初始化文件中添加这两个变量了。找到mysql的安装目录,用管理员身份打开mysql.ini文件,在最后添加这么两句:
innodb_read_io_threads=16
innodb_read_write_threads=16
1
2
重启MySQL服务,再去观察一下任务管理器,你就会发现,这次任务分配到每个处理器的任务量就均匀了些。
相关文章
- 访问Redis
- C#开发微信公众平台-就这么简单(附Demo)
- 程序员的人性思考(续)
- 恋爱虽易,相处不易:当EntityFramework爱上AutoMapper
- 魅力 .NET:从 Mono、.NET Core 说起
- 分享我对 ASP.NET vNext 的一些感受,也许多年回过头看 So Easy!
- 我的“第一次”,就这样没了:DDD(领域驱动设计)理论结合实践
- 程序员的人性思考(下)
- 2015-写给明年现在的自己
- POCO Controller 你这么厉害,ASP.NET vNext 知道吗?
- Unity依赖注入使用详解
- 初试JqueryEasyUI(附Demo)
- ASP.NET WebApi OWIN 实现 OAuth 2.0
- 程序员的人性思考(上)
- Visual Studio 2015 开发 ASP.NET 5 有何变化?
- 拨开迷雾,找回自我:DDD 应对具体业务场景,Domain Model 到底如何设计?
- Repository 返回 IQueryable?还是 IEnumerable?
- 一缕阳光:DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)?
- 让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。
- 小菜学习设计模式(五)—控制反转(Ioc)