-->

科技资讯

您的当前位置:首页 > 资讯 > MySQL

mysql优化-优化目的和方向

2020-03-18 09:37:41  来源:admin 点击:531

优化数据库的目的:

  1. 为了速度

  2. 为了稳定

  3. 为了用户体验

  4. 优化的内容:内存、I/O、CPU、网络带宽、Mysql进程状态、Mysql服务器周期变化。

image.png

优化的步骤

数据表设计=》SQL语句优化=》数据参数配置=》硬件资源优化

image.png

如何发现问题

系统监控

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)}'



相关文章更多 >

© 2024版权所有 水水网

电话:171780793