究竟哪些东西可以影响到我们服务器的性能呢?
无非就是:CPU、磁盘IO、内存等等一系列硬件
在研究性能时候,先带大家来了解三个术语
QPS
是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,简言之就是数据库每秒能查多少数据
TPS
包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS
)
同一时间处理请求的数量
,注意不要和同时连接数搞混,连接数要比并发量多的多的多
在访问量急剧增大的情况下,数据库每秒能处理多少个
QPS
就显得很重要了。
假设我们现在只有一个CPU进行处理SQL语句
10ms
处理1个SQL
1s
处理100个SQL
QPS<=100
在假设如果处理SQL语句的时间变长
100ms
处理一个SQL1s
处理10个SQLQPS<=10
解决方法
80%
的数据库QPS可以通过优化SQL语句来进行一定的优化.解决方法
MySQL
的最大连接数max_connections
风险
解决方法
风险
解决方法
select *
进行查询大表对查询的影响
大表对DDL语句操作的影响
因为所有的Insert语句都会阻塞,都需要等到你的表结构修改完成后才能处理。
分库分表把一张大表分成多个小表
难点
大表的历史数据归档
优点
难点