mysql优化-优化目的和方向
所属分类: MySQL 2020-03-18 09:37:41 编辑:admin 浏览次数 984 次
优化数据库的目的:
为了速度
为了稳定
为了用户体验
优化的内容:内存、I/O、CPU、网络带宽、Mysql进程状态、Mysql服务器周期变化。
优化的步骤
数据表设计=》SQL语句优化=》数据参数配置=》硬件资源优化
如何发现问题
系统监控
ps -aux 查看所有进程 终止进程:kill -9 pid
Ps -ef 查看进程环境变量信息
Top 分析CPU、内存、执行时间 ctrl+z 退出命令
Df -h 磁盘使用情况
Vmstat linux性能指标 进程、内存、交互区(swap-磁盘到内存()、内存到磁盘())、I/O、CPU
Mysql命令行: show status
Thread_creates queries
show PROCESSLIST
Mytop: 监控工具 (编译安装、yum)
Sysstat: 检测系统性能(吞吐量)
Ab: 压力测试工具
Awk: 分析工具
Nagios: 监控主机、服务、网络
1、监控工具的实战
8.1、ab
Ab -n(总共执行的次数) -c(并发数)
2、awk(配合shell脚本)
2.1、mysql配置(mysql>=5.6)
[client]
Host=localhost
User=root
Password=123456
Cd /usr/local/mysql/bin
Mysqladmin --defaults-extra-file=/usr/local/mysql/my.cnf ext
Mysqladmin --defaults-extra-file=/usr/local/mysql/my.cnf processlist
2.2 awk的使用
awk '/api/{printf"%s\n",$0}' test.txt
$0 所有列 $1第一列 $N 第N列
获取单个数据项
mysqladmin --defaults-extra-file=/usr/local/mysql/my.cnf ext|awk '/Threads_connected/{printf"%d\n",$4}'
获取多个数据项
mysqladmin --defaults-extra-file=/usr/local/mysql/my.cnf ext|awk '/Threads_connected/{a=$4}/Queries/{b=$4}END{printf("%d %d\n",a,b)}'
猜你喜欢
- mysql中使用show table 查看表信息 2019-01-29
- mysql查询表字段名称,字段类型 2019-01-29
- sql语句中取整数和小数部分,截取字符串常用函数 2019-03-21
- mysql函数-字符串操作 2019-04-09
- mysql函数-数字操作 2019-04-09
- mysql函数-时间操作 2019-04-09