稳定的数据库和服务器环境

平常网站运行正常

双十一的时候,web服务器压力增大(多买几个服务器也能解决)、数据库服务器压力增大(数据库服务器强调一致性和完整性,所以不能复制多个),所以重点解决数据库服务压力。

常见的数据库架构:一个主服务器架构+多个从服务器架构

带来的问题:

一个主服务器,也没有高复用的主从复制组件,万一主服务器出现故障,很难自动进行故障切换,为了不让系统崩溃,只能让数据库管理人在从服务器  挑选一个数据最新的从服务器,然后手动 升为主服务器,这一操作耗费时间,大约有半个小时。而且对主服务器网卡容量要求也比较高,可能引起网卡后续故障提升成本。

影响数据库的因素:

1、sql查询速度

2、服务器硬件

3、网卡流量

4、磁盘IO能力(比较好的fashion 磁盘:读写比较是在200左右)

最好不要在主数据库上座数据备份或者大型活动前取消这类计划(会增加服务器压力)

qps:每秒钟处理的查询量

假设我们服务器有一个cpu

10ms处理1个sql;1s处理100个sql;则qps就接近于100(因为cpu还有其他被占用)

100ms处理1个sql;则qps就接近于10。

主服务器(64核cpu;内存512g)的qps和tps衡量数据库服务器好坏标准(不错的数据是:30w以上qps;5w以上tps)

超高的qps和tps带来的风险:效率低下的sql

在大促环境下,访问量增加,则qps和tps也会增加,所以优化sql是很重要的,因为目前mysql还不支持多cpu并发运算,也就是说一个sql用一个cpu。

对于数据库性能来说,80%都是由慢查询导致的;大多数问题,都能通过优化sql来解决

 

并发量和CPU使用率:并发量在700以上的时候,cpu使用率也接近100%了

并发量:同一时间处理的请求数量

同时连接数,可能在处理数据也可能在sleep

大量的并发和超高的cpu使用率带来的风险:

大量的并发:数据库连接被占满;

超高的CPU使用率:因为cpu耗尽而宕机