mysql硬件优化
导致宕机的原因:
1. 运行环境: 35%,运行环境可以看做是支持数据库服务器运行的系统和资源集合,包括操作系统,硬盘以及网络
2. 性能:35%
3. 复制 20%
4. 各种类型的数据库丢失或者损坏以及其他问题。 10%
导致宕机的事件排行
1. 在运行环境的问题上,最普遍的问题就是空间耗尽
2. 在性能问题上,最普遍的宕机原因是运行很糟糕的SQL,还有服务器bug和错误的行为导致的
3. 索引设计也是影响宕机的原因
4. 复制问题通常是由于主备数据不一致
5. 数据丢失通常是由于误删除导致的。
如果你面试时候遇到面试题:MySQL数据库怎么优化,这时你应该从五个方面来回答:
1.硬件优化2.软件优化 3.SQL优化 4.架构优化 5. 流程制度化
硬件方面的优化:
一、服务器级别优化
百度公司的优化已经做的很好了,如果现在他们再去优化时候,就只能从硬件优化了
1. 服务器选型
SUN小型机、DELL730xd、HPDL380、IBM3850、云服务等
DELLR710
2. CPU个数、内存大小
大内存,高IO,是现代基于web的数据库的必备 (百度的服务器内存 :96G ---128个,2个实例 ,CPU
8到16颗)
3.
磁盘:SAS、SSD、FIO卡
减小寻道时间、旋转时间、传输时间
ssd
(高并发)>sas(线上普通业务)>sata (线下业务)
4. RAID卡电池,RAID级别
WriteBack, ReadAheadNone,Direct,NoWrite Cache
if Bad BBU
RAID0 >raid10
>raid5>raid1
5. 其他:网卡等(多块网卡)
二、操作系统级别优化
1. I/O调度策略
NOOP、CFQ、Deadline、Anticipatory
临时生效:echo “dadline” >/sys/block/sda/queue/scheduler
永久生效:/etc/grub.conf中kernel后加elevator=deadline(需要重启)
2. SWAP使用策略
echo"vm.swappiness=10">>/etc/sysctl.conf
https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/
3.
文件系统
ext3、ext4还是使用XFS
准确来说XFS要优于ext系列
4. 避免NUMA问题
numactl --interleave=all即是允许所有的处理器可以交叉访问所有的内存
5. /tmp分区
tmpfs /dev/shm tmpfs defaults 00
设置tmpdir=/tmp之后,某些习惯性把文件写到tmp下的人要改一改习惯了,因为这些文件占用的是内存不是磁盘,而且如果不重启的话是一直占用
6. CPU
关闭服务器的节能模式
查看kondemand进程运行情况:
ps -ef |grepkondemand
转载于:https://blog.51cto.com/xinsz08/1915967
mysql硬件优化的更多相关文章
- Mysql的硬件优化和配置优化
mysql数据库的优化,算是一个老生常谈的问题了,网上也有很多关于各方面性能优化的例子,今天我们要谈的是MySQL硬件优化和系统参数的优化-即优化my.cnf文件 MySQL的优化我分为两个部分,一是 ...
- mysql性能优化学习笔记(6)数据库配置优化&硬件优化
一.操作系统配置优化: 1. 网络方面,修改/etc/sysctl.conf文件,增加tcp支持的队列数,减少断开连接时,资源的回收. 2. 打开文件数的限制.修改 ...
- 关于MySQL数据库优化的部分整理
在之前我写过一篇关于这个方面的文章 <[原创]为什么使用数据索引能提高效率?(本文针对mysql进行概述)(更新)> 这次,主要侧重点讲下两种常用存储引擎. 我们一般从两个方面进行MySQ ...
- MySQL性能优化总结
一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎 ...
- (转)MySQL配置文件mysql.ini参数详解、MySQL性能优化
本文转自:http://www.cr173.com/html/18331_1.html my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数 ...
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section. ...
- MySQL配置文件my.cnf中文详解附mysql性能优化方法分享
Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的 ...
- mysql性能优化学习笔记
mysql性能优化 硬件对数据库的影响 CPU资源和可用内存大小 服务器硬件对mysql性能的影响 我们的应用是CPU密集型? 我们的应用的并发量如何? 数量比频率更好 64位使用32位的服务器版本 ...
- Mysql数据库优化
to be add... --------------------------------------------------------------------------------------- ...
随机推荐
- 简单记录下springboot+jms+activemq
1. 安装ActiveMQ 到Apache官方网站下载最新的ActiveMQ的安装包,并解压到本地目录下后运行 2. pom.xml引入 springboot配置文件中填写相关配置 3.创建生产者 ...
- 浅谈Python导入外部文件
import 和 from ... import * 有什么区别? 例如我写了个模块hello.py def print_func(args): print("Hello " + ...
- docker win10 基本指令
一.镜像操作 docker images 本地镜像 docker pull imagename 获取网上获取镜像 docker run 创建docker容器 docker rmi imagename ...
- go 切片重组
我们已经知道切片创建的时候通常比相关数组小,例如: slice1 := make([]type, start_length, capacity) 其中 start_length 作为切片初始长度而 c ...
- ArrayList、LinkedList和Vector源码分析
ArrayList.LinkedList和Vector源码分析 ArrayList ArrayList是一个底层使用数组来存储对象,但不是线程安全的集合类 ArrayList的类结构关系 public ...
- Python设计模式(2)-策略模式
# 策略模式和简单工厂模式相比,少了使用switch case 做判断,然后去实例化相应的 # 对象,比简单工厂模式更灵活. 它们代码的区别就在于此处使用了抽象类代替工厂类 # coding=utf- ...
- 数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出
此题如果直接使用有序的TreeMap就不需要这样折腾: 1.map的key值唯一性,故就不在需要set集合来去重 2.使用map后利用key的唯一性,把序列号相同的数据直接加在一起,代码会很简洁 pa ...
- mysql优化之分区
mysql分区类型 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会 ...
- C - Highways poj1751最小生成树
The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has a very poor system of p ...
- Python - 实现文件名自动更改,避免同名文件被覆盖的两个解决方法
[原创]转载请注明作者Johnthegreat和本文链接. 在一些不多的数据下载和生成的时候,我们倾向于直接保存为文件,当我们修改某些参数后再一次运行时,之前运行时生成的文件就被覆盖了.为了解决这个问 ...