24.1、如何判断网站慢的排查顺序:

客户端->web->nfs->数据库;

24.2、uptime命令详解:

[root@backup ~]#uptime

13:03:23 up 37 min, 1 user, load average: 0.08, 0.02, 0.01

13:03:23 up 37 min #开机时间和开机运行了多长时间;

1 user #正在使用的用户数;

load average: 0.08, 0.02, 0.01

#这里是1分钟、5分钟和15分钟内的平均负载;

#一般load average的三个值不能大于cpu个数,假设长期大于cpu个数说明系统非常繁忙负载高。

#偶尔大于的话,一般不影响实际性能。

24.3、mysql服务器负载高的解决办法:

1、案例一(索引问题):

(1)登录到数据库;

(2)使用show full processlist;命令,发现大量的sql查询查询进程等待;

(3)使用explain+sql语句查看等待的sql语句的索引利用情况;发现该sql语句没有没有走任何的索引,是全表扫描;

(4)查看被查询表的表结构信息,然后使用select count( discount,<字段名称>) from <表名称>;命令查看被查询字

段的的唯一性,发现每一个字段的唯一性都很小,所以通过create index <索引名称> on student (<字段名>,<字段名>);命令

建立联合索引;

(5)通过explain+sql语句查看索引情况,发现sql查询走索引了,通过uptime命令查看mysql服务器的负载也降下来了;

(6)注意:在生产环境中,如果访问频繁的大表,创建索引会很耗费时间,也许需要几分钟,所以应该在业务低估时建立索引;

2、案例二(非索引问题):

使用的搜索是%<搜索的内容>%,不走索引;

使用 mysql -uroot -p<密码> -e "show full processlist" | grep -vi sleep命令查看数据库进程;

3、小结:引起负载高的软件原因,要么是sql查询没有走索引,要么是sql语句写的比较烂;

24.4、如何优化数据库:

1、硬件优化:

6*600、sas、15k硬盘、raid10、2颗cpu、16G、单实例mysql服务;

2、软件优化:

3、my.cnf优化:

对于线程buffer不要调的太大,主要和并发有关,系统内存会吃不消的;

4、sql语句的优化:

5、架构上的优化:

24.5、数据库管理规章制度:

1、项目开发制度流程:

2、数据库更新流程:

3、dba参与项目数据库的设计:

4、各种操作申请流程:

5、定期对内部人员进行培训:

6、内部开发等人员权限的分配:

说明:说到底就是把最大的权限放到dba手中,其他人权限分配最小,如果需要权限就需要走流程;

7、数据库客户端访问控制:

8、数据库运维管理核心思想:

24、mysql数据库优化的更多相关文章

  1. 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决(转载)

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  2. 50多条mysql数据库优化建议

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的.在非群集索引下,数据在物理上随机存 ...

  3. 30多条mysql数据库优化方法【转】

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  4. 转载:30多条mysql数据库优化方法,千万级数据库记录查询轻松解决

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  5. MySQL数据库优化、设计与高级应用

    MySQL数据库优化主要涉及两个方面,一方面是对SQL语句优化,另一方面是对数据库服务器和数据库配置的优化. 数据库优化 SQL语句优化 为了更好的看到SQL语句执行效率的差异,建议创建几个结构复杂的 ...

  6. 关于MySQL数据库优化的部分整理

    在之前我写过一篇关于这个方面的文章 <[原创]为什么使用数据索引能提高效率?(本文针对mysql进行概述)(更新)> 这次,主要侧重点讲下两种常用存储引擎. 我们一般从两个方面进行MySQ ...

  7. 【MySQL】花10分钟阅读下MySQL数据库优化总结

    1.花10分钟阅读下MySQL数据库优化总结http://www.kuqin.com2.扩展阅读:数据库三范式http://www.cnblogs.com3.my.ini--->C:\Progr ...

  8. 解开发者之痛:中国移动MySQL数据库优化最佳实践(转)

    开源数据库MySQL比较容易碰到性能瓶颈,为此经常需要对MySQL数据库进行优化,而MySQL数据库优化需要运维DBA与相关开发共同参与,其中MySQL参数及服务器配置优化主要由运维DBA完成,开发则 ...

  9. 百万行mysql数据库优化和10G大文件上传方案

    百万行mysql数据库优化和10G大文件上传方案 最近这几天正在忙这个优化的方案,一直没时间耍,忙碌了一段时间终于还是拿下了这个项目?项目中不要每次都把程序上的问题,让mysql数据库来承担,它只是个 ...

  10. 从运维角度来分析mysql数据库优化的一些关键点【转】

    概述 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善. 1.数据库表设计 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分 ...

随机推荐

  1. 【转载】ltp压力测试结果分析脚本

    博客园 首页 新随笔 联系 管理 订阅 随笔- 8  文章- 0  评论- 0  ltp压力测试结果分析脚本   最近工作性质发生了改变,在做操作系统方面的测试.接手的第一个任务是做ltp stres ...

  2. 速度竟差9倍!6款32GB USB3.0优盘横评

    速度竟差9倍!6款32GB USB3.0优盘横评 2014-08-22 05:04:00  [  中关村在线 原创  ]   作者: 蒋丽 |  责编:孙玉亮 收藏文章 分页阅读 分享到 评论(90) ...

  3. systemd 进程管理详解

    systemd进程管理 systemd管理的优势 1.最新系统都采用systemd管理(RedHat7,CentOS7,Ubuntu15...) 2.CentOS7 支持开机并行启动服务,显著提高开机 ...

  4. C语言变量和函数命名规范

    C 语言变量和函数命名规范: 关于C语言变量和函数命名规范 据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则.命名规则对软件产品而言并不是"成败悠关&quo ...

  5. session.flush()与session.clear()区别与使用环境

    session是有一级缓存的,目的是为了减少查询数据库的时间,提高效率,生命周期与session是一样的 session.flush() 是将session的缓存中的数据与数据库同步 事物提交失败 缓 ...

  6. 树莓派 PICO基础教程(基于MicroPython)

    目录 1 树莓派 PICO 简介 1.1 简介 1.2 配置 [^2] 1.3 引脚图 1.4 尺寸 2 安装 2.1 烧录固件 2.2 安装IDE(Thonny IDE) 2.3 离线运行程序 3 ...

  7. redux 源码浅析

    redux 源码浅析 redux 版本号: "redux": "4.0.5" redux 作为一个十分常用的状态容器库, 大家都应该见识过, 他很小巧, 只有 ...

  8. sentinel入门

    sentinel下载:sentinel-dashboard-1.8.1.jar 下载完成后进入sentinel-dashboard-1.8.1.jar的文件夹,在cmd中输入java -jar sen ...

  9. Python+Selenium - iframe定位

    元素在iframe中.在html当中,内嵌了另一个html (iframe) 分辨元素是否在iframe当中 在代码当中,从当前的html切换到iframe当中的html,然后在元素定位 切换方式:d ...

  10. Angel图算法

    Angel图算法 [2.0]CommonFriends 计算两个好友的共同好友数,某种程度上可以刻画两个节点之间的紧密程度. 输入 输入数据路径:输入文件所在路径,无权网络数据, 数据格式为两列 sr ...