mysql中影响数据库性能的因素讲解
mysql中影响数据库性能的因素讲解
在本篇文章中我们给大家讲述了mysql中影响性能的因素以及相关知识点内容,有兴趣的朋友参考下
关于数据库性能的故事
面试时多多少少会讲到数据库上的事情,“你对数据库的掌握如何?”,什么时候最考验数据库的性能,答应主要方面上讲就是大数据量的读写时,而电商类的大促活动就是考验各自的数据库性能的时候啦。
对于web服务器而言,数据量大时,我们可以简单的通过横向扩展来减少单个服务器的负担,但是对于数据库服务器来说就没有那么简单了,他们不可能做到轻易的横向扩展,这样也违背了数据库的完整性与一致性的原则,那么我们的数据库架构该如何搭建呢?
对于大促类活动而言,不管是产品多好、策划多成功,如果没有稳定的数据库及服务器环境,则这所谓的一切都将是一场空呀。
数据库架构案例
如图所示,主从服务器之间没有任何主从复制组件,即当主服务器出现了故障,很难进行主服务器的切换,这需要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中影响数据库性能的因素讲解的更多相关文章
- C# 利用mysql.data 在mysql中创建数据库及数据表
C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...
- MySQL 中的数据库名称、数据表名称、字段名称
如何查询Oracle,Sql Server,MySQL 中的数据库名称.数据表名称.字段名称 分类: Database2012-09-24 22:16 7034人阅读 评论(0) 收藏 举报 数据库s ...
- SQLServer中的页如何影响数据库性能 (转)
无论是哪一个数据库,如果要对数据库的性能进行优化,那么必须要了解数据库内部的存储结构.否则的话,很多数据库的优化工作无法展开.对于对于数据库管理员来说,虽然学习数据库的内存存储结构比较单调,但是却是我 ...
- 查询MySQL中某个数据库中有多少张表
SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = '数据库' GRO ...
- MySQL中information_schema数据库的内容
大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库. information_schema数据库是做什么用的呢,使用WordPress博客 ...
- 关于RDS for mysql中导入数据库set global event_scheduler =1 需要更多超级权限
关于RDS中导入数据库set global event_scheduler =1 需要更多超级权限 报错提示 其实这个意思是 让mysql自动启动 计划任务 如果在 命令行下 查询 SHOW VAR ...
- mysql中的SQL_CACHE(性能更优化)
mysql中的sql_cache是个容易忽视的地方,要 使用的话,必须先设置query_cache_size, 以及设置query_cache_type ,其中 query_cache_type 这个 ...
- MySQL中information_schema数据库是干啥的
大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个 information_schema数据库.information_schema数据库是做什么用的呢,使用WordPress博客 ...
- MySQL中information_schema 数据库 是干什么的
MySQL中information_schema是什么 大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库. information_sc ...
随机推荐
- 湖南集训day7
难度:☆☆☆☆☆☆ /* 由观察可知 同种颜色的减去他的父亲值相同 我们考虑把询问的两个数分别减去小于它的最大斐波那契数. */ #include<iostream> #include&l ...
- 在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)
1.需求:近期在提取linux服务器下的日志文件时总是需要人工去找某个时间段内的日志文件,很是枯燥乏味,于是乎,我就想着用python结合linux指令来写一个日志提取的脚本,于是就有了以下脚本文件: ...
- selenium基础操作
selenium 1.打开和关闭网页 #!/usr/bin/env python # -*- coding:utf-8 -*- from selenium import webdriver drive ...
- 数组Array的相关操作。
一 数组的对象(元素): 1. 数字, 2 .字符串 3 变量 4. 函数 .... 二 数组的创建 1 var arrayObj = new Array(); var a =new Array(si ...
- Ocelot实现API网关服务
NET Core微服务之基于Ocelot实现API网关服务 https://www.cnblogs.com/edisonchou/p/api_gateway_ocelot_foundation_01. ...
- linux替换文件中的某个字符串的命令sed
sed -i 's/java-7-oracle/java-8-oracle/g' /etc/init.d/tomcat7 上面的命令是将tomcat7中的java-7-oracle替换为java-8- ...
- E. Selling Souvenirs 不会做
http://codeforces.com/contest/808/problem/E 不理解为什么dp = {cost, cnt1, cnt2}可以 而dp = {cost, cnt1, cnt2, ...
- nodejs 实践:express 最佳实践 (一) 项目结构
express 最佳实践 (一) 第二篇: express 最佳实践(二):中间件 最近,一直在使用 nodejs 做项目,对 nodejs 开发可以说深有体会. 先说说 nodejs 在业务中的脚色 ...
- Java基础:(五)Object通用方法
一.Object对象的九个方法 getClass():hashCode():equals():clone():toString():notify():notifyAll():wait():finali ...
- 实例练习——轮播图 & 全选/全不选
1 实例1:轮播图 1)实质就是改变图片的src 2)把图片的路径用数组存起来 3) “下一张”的实现就是改变数组的下标,用一个变量i控制,每次点击下标加1.“上一张”的实现正好相反.注意“i的变化” ...