mysql改国标码_MySQL 优化实施方案
優(yōu)化的哲學(xué)
優(yōu)化風(fēng)險
優(yōu)化設(shè)計到變更,變更就有風(fēng)險
優(yōu)化方向
在數(shù)據(jù)庫優(yōu)化上有兩個主要方面:即安全與性能。(CAP)
安全 ---> 數(shù)據(jù)可持續(xù)性
一致
性能 ---> 數(shù)據(jù)的高性能訪問
優(yōu)化框架
基礎(chǔ)設(shè)施:硬件,操作系統(tǒng),網(wǎng)絡(luò),文件系統(tǒng)
數(shù)據(jù)庫實例:內(nèi)存,線程,IO等參數(shù)
應(yīng)用層:schema設(shè)計,SQL,索引,鎖
架構(gòu)層面:選型,主從
優(yōu)化工具
OS (提前規(guī)劃好)
cpu:top,htop,glances,vmstat、sar top、nmon、mpstat
MEM,swap:top,htop,glances,free,ps -aux
IO:iotop,iostat,vmstat,glances, ss ,netstat,iptraf,iftop,lsof
MySQL
show processlist
show status
explain
slowlog
IS,PS,SYS
PT工具
優(yōu)化過程
基礎(chǔ)設(shè)施
主機
真實硬件(PC Server):DELL R系列,華為,浪潮,HP,曙光,聯(lián)想
云產(chǎn)品:ECS(阿里),數(shù)據(jù)庫RDS(阿里),DRDS(阿里),polarDB(阿里),TDSQL(騰訊)
CPU:IO密集型(OLTP E志強),計算密集型(OLAP,I系列,P系列)
MEM:ECC校驗功能
HD:Flash--》PCI-E SSD--》SAS--》SCSI--》SATA
RAID:raid 10-->raid 5-->raid 1
存儲
FC-SAM:HDS,EMC,IBM
冷存儲
網(wǎng)卡
單卡單口,網(wǎng)卡綁定(bond)建議主備
交換機:高端,堆疊。
OS
swap調(diào)整(必調(diào))
[root@WANGXIANG backup]# cat /proc/sys/vm/swappiness
30
[root@WANGXIANG backup]# echo 0 > /proc/sys/vm/swappiness
[root@WANGXIANG backup]# cat /proc/sys/vm/swappiness
0
# 永久生效
[root@WANGXIANG backup]# echo 'vm.swappiness=0' >> /etc/sysctl.conf
[root@WANGXIANG backup]# sysctl -p
vm.swappiness = 0
IO調(diào)度策略(必調(diào))
[root@WANGXIANG backup]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
deadline:最后期限,我等你一會,你要是在一定期限內(nèi)沒有反應(yīng),去處理別的操作
echo deadline > /sys/block/sda/queue/scheduler
IO優(yōu)化建議+排查思路
raid
no lvm,不要過度條度化,IOPS
ext4或xfs
ssd
IO調(diào)度策略
通過工具,輔助定位性能問題
top
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
CPU問題:
sys:系統(tǒng)相關(guān)。協(xié)調(diào),資源管理,資源調(diào)配,資源監(jiān)控,系統(tǒng)調(diào)用,內(nèi)核程序。
MySQL:資源調(diào)配頻繁,鎖邏輯處理,會話處理
us:用戶進(jìn)程,線程
MySQL:干正事時間,大事務(wù),全表掃描,復(fù)雜查詢
wait:等待
IO wait(索引應(yīng)用不合理),鎖等待
idle:空閑
定問問題方法
top -Hp mysql.pid -->
os_thread_id (setect * from performance_schema.threads where THREAD_OS_ID='12118') -->
performance_schema.thread where os_thread_id -->
MYSQL_THREAD_ID -->
select sql_text from events_statements_history where THREAD_ID='12118' -->
explain,鎖排查
數(shù)據(jù)庫實例
會話
'''
max_connections 最大連接數(shù)
1500-4000
show processlist;
select count(*) from information_schma.processlist where command='sleep';
最大連接數(shù)超限:
1.IE:409 --》 max_connections 上限 --》show processlist--》sleep?語句問題?
2.改(默認(rèn)151+管理員的一個連接數(shù))--》limits.conf-->nofile沒調(diào)整
3.sleep線程--》有規(guī)律的同時釋放。7200s,自動回收--》Keepalived(7200s超時時間),lvs(1200s)
4.show processlist; kill 85;
5.percona-toolkits -->pt-kill
wait_timeout :處理非交互會話的超時時間 建議:60 s
3306 [(none)]>select @@wait_timeout; #查看
interactive_timeout :處理交互會話的超時時間 建議:600 s
thread_cache_size :會話重用,cpu緊缺的情況下可以酌情開啟一下thread_cache_size=10
3306 [(none)]>show status like 'threads_%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 1 |
| Threads_connected | 1 |
| Threads_created | 2 |
| Threads_running | 1 |
+-------------------+-------+
'''
臨時表
key_buffer_size (比配置)
1.myisam表的索引緩沖區(qū)
2.臨時表的緩沖區(qū)
max_allowed_packet *****
max_allowed_packet=256
總結(jié)
以上是生活随笔為你收集整理的mysql改国标码_MySQL 优化实施方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bose车载音响怎么样(耳机怎么样呢)
- 下一篇: mysql grant 表通配符_mys