影响数据库的性能的因素

1、sql 查询的速度
2、服务器硬件
3、网卡流量
4、磁盘IO

系统吞度量要素:

一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间

    QPS(TPS):每秒钟request/事务 数量

    并发数: 系统同时处理的request/事务数

    响应时间:  一般取平均响应时间
超高的QPS 和TPS

风险:效率低下的SQL语句
前提:只有一个CPU
10ms 处理一个SQL 1s 处理100SQL 则 QPS <= 100
100ms 处理一个SQL 1s 处理100SQL 则 QPS <= 10
所以,优化SQL就显得尤为重要

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

风险:大量的并发使得数据库的连接数被占满
超高的CPU使用率,会因CPU资源耗尽而出现宕机

磁盘IO

风险:磁盘IO性能突然下降(使用更快的磁盘设备)
假如有大量的热数据交互,这时其它大量消耗磁盘性能的计划任务需要被调整,做好磁盘维护)

网卡流量

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

还有什么会影响数据库的性能

1、大表给我们带来的问题
2、大事务带来的影响

什么样的表可以称之为大表

数据表超过千万行的时候就会影响数据库的性能
1、记录行数巨大,超过千万行
2、数据表文件巨大,表数据文件超过10G

大表对查询的影响

1、慢查询:很难在一定的时间内过滤出所需要的数据

大表对DDL操作的影响

风险;
mysql 版本< 5.5 建立缩影会引起锁表
MySQL版本 >5.5 虽然不会锁表,但会引起主从延迟

扫描二维码关注公众号,回复: 3709253 查看本文章
如何处理数据库中的大表

大表的历史数据归档减少对前后端的业务影响
难点:归档时间点选择 如何进行归档操作

什么是事务?

1、事务是数据库系统区别于其他一切文件系统的重要地特性之一
2、事务是一组具有原子性的SQL语句,或是一个独立的工作单元

什么是大事务?

定义:运行时间比较长的,操作的数据比较多的事务
风险:锁定太多的数据,造成大量的阻塞和锁超时,回滚时所需时间比较长,执行时间长,容易造成主从延迟

如何处理大事务

1、避免一次处理太多的数据
2、移除不必要在书屋中的select操作

猜你喜欢

转载自blog.csdn.net/qq_33113113/article/details/83189436