mysql查看数据库cpu使用率(CPU 以及内存从哪些方面影响 MySQL 性能?)
mysql查看数据库cpu使用率
CPU 以及内存从哪些方面影响 MySQL 性能?
影响 MySQL 性能的因素很多,今天咱们来看看 CPU 和内存是如何影响 MySQL 性能的,以及我们在购买服务器的时候,该如何挑选这些配置。
CPU
在挑选数据库服务器的时候,是买多核 CPU 还是高主频 CPU?相信有小伙伴可能遇到过类似的问题,作为开发工程师,公司负责采购的小伙伴可能会向我们抛出上面这个问题,那么该如何回答呢?
有人说我既要多核又要高主频,抱歉,很多时候公司的预算都是有限的,没法做到鱼与熊掌兼得。这个时候我们就需要了解一点 MySQL 的运行机制了,根据 MySQL 的运行机制来确定到底该选什么样的 CPU!
首先我们要看我们的应用是不是 CPU 密集型,即是不是计算密集型。如果是 CPU 密集型应用,那么我们要加快 SQL 语句的处理速度,这个时候 CPU 的频率显然就比核数重要了。另外,MySQL 不支持多 CPU 对同一 SQL 并发处理,也就是说,不管 CPU 多强或多弱,我们只能用一个 CPU 核心来处理这一条 SQL,多个 CPU 对提高一个 SQL 的处理效率是没有帮助的。
如果我们要提高系统的并发量,这个时候就要考虑 CPU 的核数问题了。多个 CPU 虽然无法提高一条 SQL 的执行效率,但是可以提高 SQL 的并发量,在同一时间,一个 CPU 可以处理一条 SQL,那么要是有 10 个 CPU 就可以同时处理 10 条 SQL,这样就可以有效提高 QPS。
现在小伙伴们出去找工作,很多互联网公司都是用的 MySQL,这种互联网应用最大的特征就是高并发,那么毫无疑问,对于这种应用,我们应该考虑多核 CPU。
老版本的 MySQL 对于多核 CPU 的支持并不完美,所以如果我们选择多核 CPU,应该考虑使用目前最新版的 MySQL,最新版的 MySQL 对多核 CPU 的支持更加流畅。
另外大家还需要注意不要在 64 位的 CPU 上运行 32 位的服务器。
内存
内存的磁盘 IO 肯定是大于硬盘的,所以如果能将数据缓存在内存中,这样就不用每次去硬盘中读取数据了,这样的话,数据库的效率必然还要再提升一个台阶。
内存对数据库性能的影响有两方面:
- 读取效率,从内存中读取数据肯定比从硬盘中读取数据要快。
- 写入效率,当内存比较大的时候,我们需要往硬盘中写数据的时候,就不用每次都写,可以先缓存着,攒够了再一次性写入(延缓写入)。
不过我们也不能盲目的加内存,还是要在了解 MySQL 运行机制的前提下,合理加内存。
以常见的 MyISAM 和 InnoDB 存储引擎为例:
- MyISAM 会将索引存入缓存,而数据存储交由操作系统处理。
- InnoDB 会同时在内存中缓存数据和索引,从而提高数据库的运行效率。
所以,如果我们选择不同的存储引擎,对内存的要求也是不一样的。
另一方面需要注意,生产服务器的内存一般都比较大,如果服务器的内存是 128G,数据库文件只有 50G,此时发现数据库运行很慢,那么很明显,这个时候加内存肯定是无法解决问题的,还是要具体问题具体分析。
另外在选择内存时选择服务器主板支持的最大内存频率,尽量不要选择不同品牌的内存混用;如果需要多个内存条,要确保不同内存条的频率、电压、校验技术、型号等相同,同时单个内存条容量也要尽可能大(不过话说回来,如果购买云服务器,可能并不需要考虑这些)。
好啦,今天就和小伙伴们随便扯一扯,当然影响 MySQL 性能的还有其他因素,咱们后面接着聊。
原文链接:https://mp.weixin.qq.com/s/fqLoKPhhkWN_OOhGjZKeQw
- mysql数据结构讲解(详解MySQL 数据库隔离级别与MVCC)
- windows mysql 忘记密码(解决MySQL忘记密码问题的方法)
- 创建数据库入门教程mysql(MySQL数据库安装教程一学就会)
- mysql数据库与表的基本操作总结(Mysql、Oracle中常用的多表修改语句总结)
- docker查找redis配置文件(解决docker重启redis,mysql数据丢失的问题)
- centos7怎么安装mysql(Centos7 mysql数据库安装及配置实现教程)
- mysql多行数据之和(详解MySQL的数据行和行溢出机制)
- mysql能groupby两个字段吗(MySQL group by语句如何优化)
- mysql的浮点数类型(浅谈MySQL中float、double、decimal三个浮点类型的区别与总结)
- docker安装mysql后无法连接(Docker 安装 MySQL 并实现远程连接教程)
- mysql锁机制图解(详解mysql 中的锁结构)
- mysql密码过期怎么改(年底了,你的mysql密码安全吗)
- centos安装mysql8.0教程(Centos7 安装 Mysql8教程)
- mysql8.0.23.0官方安装手册(MySQL8.0.23安装超详细教程)
- mysql模糊匹配语句(MySQL 数据库 like 语句通配符模糊查询小结)
- mysql索引失效怎么办(MySQL选错索引的原因以及解决方案)
- 越南旅游攻略(越南旅游攻略自由行)
- 成都旅游攻略(成都旅游攻略自由行最佳线路)
- 给儿童吃什么最好(给儿童吃什么最好消化)
- 杭州旅游攻略()
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
热门推荐
- vue左右滑屏(vue中实现全屏以及对退出全屏的监听)
- mysql慢日志查询会输出插入语句吗(MySQL三种日志有啥用?如何提高MySQL并发度?)
- dedecms参数不显示(织梦DedeCms中出现Safe Alert: Request Error step 1/2 的解决方法)
- php面向对象怎么调用属性(PHP面向对象程序设计__tostring和__invoke用法分析)
- ASP.NET中Web.config文件的配置
- laravel数据库数据代码(在Laravel的Model层做数据缓存的实现)
- react hooks详解(React Hooks使用常见的坑)
- python协程结果(深入浅析python 协程与go协程的区别)
- css3边框讲解(六种css3实现的边框过渡效果)
- .net面试智力题
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9