mysql数据库中影响性能因素(附数据库架构案例)-mysql教程-学派吧

本篇文章给大家带来的内容是mysql数据库中影响性能因素的讲解(附数据库架构案例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

关于数据库性能的故事

面试时多多少少会讲到数据库上的事情,“你对数据库的掌握如何?”,什么时候最考验数据库的性能,答应主要方面上讲就是大数据量的读写时,而电商类的大促活动就是考验各自的数据库性能的时候啦。

对于web服务器而言,数据量大时,我们可以简单的通过横向扩展来减少单个服务器的负担,但是对于数据库服务器来说就没有那么简单了,他们不可能做到轻易的横向扩展,这样也违背了数据库的完整性与一致性的原则,那么我们的数据库架构该如何搭建呢?

对于大促类活动而言,不管是产品多好、策划多成功,如果没有稳定的数据库及服务器环境,则这所谓的一切都将是一场空呀。

数据库架构案例

1842195120-5b9dc2ea27af8_articlex.png

如图所示,主从服务器之间没有任何主从复制组件,即当主服务器出现了故障,很难进行主服务器的切换,这需要DBA在从服务器中选择数据最新的从服务器将其提升为主服务器并同步其他从服务器,这个过程的时间成本也是非常沉重的。

且过多的从服务器,当业务量大时对主服务器的网卡也是一定的挑战。

我们可以通过对集群的监控信息来了解是什么影响了数据库性能。

答应其实是肯定的,一般情况下主要是QPS与TPS、并发量(同一时间处理的请求的数量,避免和同时连接数混淆)、磁盘IO、读操作过于高

这里有个建议:最好不要在主库上数据备份,起码在大型活动前要取消这类计划、

影响数据库的因素

sql查询速度
服务器硬件
网卡流量
磁盘IO

  • 超高的QPS和TPS

风险:效率底下的SQL(QPS:每秒钟处理的查询量)

  • 大量的并发和超高的CPU使用率

风险:大量的并发(数据库连接数被占满(max_connections默认100))
风险:超高的CPU使用率(因CPU资源耗尽而出现宕机)

  • 磁盘IO

风险:磁盘IO性能突然下降(使用更快的磁盘设备)
风险:其他大量消耗磁盘性能的计划任务(调整计划任务)

  • 网卡流量

风险:网卡IO被占满(1000Mb/8=100MB)

如何避免无法连接数据库的情况:
1、减少从服务器的数量
2、进行分级缓存
3、避免使用“select * ”进行查询
4、分离业务网络和服务器网络

以上就是mysql数据库中影响性能因素的讲解(附数据库架构案例)的详细内容,更多请关注学派吧其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/data/2061.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2018年11月24日 下午10:47
下一篇 2018年11月24日 下午10:47

相关推荐

  • mysql索引原理是什么?-mysql教程-学派吧

    本篇文章主要给大家介绍mysql索引原理,希望对需要的朋友有所帮助!(相关推荐:《mysql教程》) 索引的目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者ze开头…

    2019年4月9日
    2.1K00
  • 在MySQL中如何解码base64编码的字符串?-mysql教程-学派吧

    本篇文章主要给大家介绍在mysql中如何解码base64编码的字符串,那么我们可以通过FROM_BASE64()函数来实现解码。 在MySQL中,FROM_BASE64()函数解码一个base-64编码的字符串并返回结果。更具体地说,它接受一个用TO_BASE64()使用的base-64编码规则编码的字符串,并以二进制字符串的形式返回解码后的结果。 FROM…

    数据库运维 2019年4月9日
    2.5K00
  • CPU资源和可用内存大小对数据库性能有没有影响?-mysql教程-学派吧

    本篇文章给大家带来的内容是关于CPU资源和可用内存大小对数据库性能有何影响?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助 前言 可能影响到数据库性能的几个点,其一就是服务器硬件,也是本节要说的CPU与可用内存。 引入 当热数据超过可用内存大小,MemCache存储引擎缓存层容易失效(当缓存大量失效时,容易产生大量的网络传输),从而影响服务器的…

    数据库运维 2018年11月24日
    2.7K00
  • 在MySQL中如何使用LOAD_FILE()函数?(代码示例)-mysql教程-学派吧

    在MySQL中,LOAD_FILE()函数读取一个文件并将其内容作为字符串返回。 语法 LOAD_FILE(file_name) 其中file_name是文件的完整路径。 下面是我从一个文件中选择内容的示例: SELECT LOAD_FILE('/data/test.txt') AS Result; 结果: +————–…

    数据库运维 2019年4月9日
    3.3K00
  • php中mysqli处理查询结果集的多个方法-mysql教程

    最近对php查询mysql处理结果集的几个方法不太明白的地方查阅了资料,在此整理记下(相关推荐:mysql教程) Php使用mysqli_result类处理结果集有以下几种方法 fetch_all() 抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集。 fetch_array() 以一个关联数组,数值索引数组,或者两者皆有的方式抓取…

    数据库运维 2019年4月24日
    3.4K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----