Guest User

Untitled

a guest
Jun 23rd, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.71 KB | None | 0 0
  1. MySQL管理之道:性能调优、高可用与监控
  2. 跳转至: 导航、 搜索
  3. 目录
  4.  
  5. 1 MySQL 5.5介绍
  6. 2 半同步复制
  7. 3 故障诊断
  8. 4 同步复制报错故障处理
  9. 5 性能调优
  10. 6 备份与恢复
  11. 7 目前流行的4种HA架构
  12. 8 批量管理服务器
  13. 9 性能监控
  14. 10 服务监控
  15. 11 项目案例讲解
  16.  
  17. MySQL 5.5介绍
  18.  
  19. InnoDB Plugin文件格式:Antelope --> Barracuda
  20. 充分利用CPU多核:innodb_read/write_io_threads=8
  21. 提高脏页刷新和合并插入数量:innodb_io_capacity=200
  22. 自适应:innodb_adaptive_flushing
  23. InnoDB_Buffer_Pool
  24. innodb_old_blocks_pct/time
  25. 数据恢复时间加快
  26. redo log最大可设为4G
  27. InneDB同时支持多个BufferPool实例:innodb_buffer_pool_instances
  28. 可关闭自适应Hash索引
  29. ?Hash索引是基于表上已存在的B树索引建立的
  30. 高并发下,可造成RW-latch争用,进而阻塞进程
  31. 可通过“show engine innodb status\G;”监控SEMAPHORES,如果有很多waits,那么就应该关闭该功能
  32. 可选择内存分配器(差距不是很大)
  33. export LD_PRELOAD=/usr/local/lib/libtcmalloc.so
  34. 提高默认线程并发数:innodb_thread_concurrency innodb_concurrency_tickets=500
  35. 预读算法
  36. 线性 innodb_read_ahead_threshold=<pages>,默认56
  37. 随机
  38. 首次在Linux上实现了异步I/O:innodb_use_native_aio
  39. cat /proc/slabinfo | grep kio
  40. 组提交(group commit)
  41. sync_binlog必须=0
  42. 多个回滚段提升性能
  43. innodb_purge_threads
  44. 添加删除缓冲和清除缓冲
  45. SET GLOBAL innodb_change_buffering = all;
  46. 控制自旋锁轮询间隔:innodb_spin_wait_delay=6
  47. 快速创建、删除、修改索引*
  48. 支持创建压缩数据页
  49. CREATE TABLE ... ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
  50. *innodb_stats_on_metadata
  51. 安全性、稳定性的显著改变
  52. 复制功能加强
  53. relay-log可自我修复
  54. set global innodb_strict_mode=1;
  55. 动态更改系统配置参数
  56. SQL语法的改变
  57. 存储过程支持limit变量
  58. 5.1升级为5.5
  59. MySQL_update
  60.  
  61. 半同步复制
  62.  
  63. install plugin rpl_semi_sync_master_soname 'semisync_master.so';
  64. SET GLOBAL rpl_semi_sync_master_enabled=ON;
  65. 功能验证:
  66. 性能测试
  67.  
  68. 故障诊断
  69.  
  70. 性能主要因素:磁盘I/O
  71. CPU性能指标:%us %sy %wa %id %ni
  72. 磁盘性能指标
  73. I/O等待
  74. 队列平均长度
  75. 平均等待时间
  76. 每秒传输数量(多少次I/O操作,包括读写)
  77. 每秒读写块的数量
  78. 每秒读写字节的数量
  79. 开源工具:
  80. dstat(Python编写的?)
  81. sysstat(iostat、mpstat、cifsiostat、sar)
  82. “连接数过多”
  83. 闲置连接?
  84. 整理表空间碎片
  85. 预热
  86. my.cnf:innodb_buffer_pool_dump_at_shutdown=1(必须pkill mysql正常关闭)
  87. 加内存!
  88. 子查询问题
  89. 5.6:强劲优化?(自动改写成join?)
  90. 分析binlog,查找读写操作频繁的表?(使用awk)
  91. mysqlbinlog ... | awk '/###/{if($0~/UPDATE|INSERT|DELETE/)count[$2" "$NF]++}END{for(i in count)print i,"\t",count[i]}' | column -t | sort -k3nr | more
  92. 谨慎设置binlog_format=MIXED
  93. p92 如果采用默认隔离级别(可隔离读),设置=ROW;如果是读提交,MIXED和ROW的效果是一样的
  94. 5.6 binlog_row_image=minimal
  95. 未设置swap分区导致内存耗尽死机
  96. echo 0 > /proc/sys/vm/swappiness
  97. 只能减少swap概率,并不能避免Linux swap
  98. 内存监控:当使用率>90%,重启MySQL
  99. *故障(主从)切换时事件调度器注意事项
  100. p96 event只能在master上触发,不能在slave,如果slave上触发了同步复制就会坏掉
  101. 误删InnoDB ibdata和ib_logfile
  102. 找到mysqld的PID
  103. ll /proc/<pid>/fd | egrep 'ib_|ibdata'
  104. FLUSH TABLES WITH READ LOCK;
  105. set global innodb_max_dirty_pages_pct=0;
  106. cd /proc/<pid>/fd
  107. cp 10 /u2/mysql/data/ib_logfile1(哦,文件虽然被误删除,对应inode还在)
  108. ...
  109. cd /u2/mysql/data/ && chown mysql:mysql ib*
  110. /etc/init.d/mysql restart
  111. *模拟Oracle闪回(这里的大段代码真无聊~)
  112.  
  113. 同步复制报错故障处理
  114.  
  115. 避免在master上执行大事务
  116. set global slave_exec_mode='IDEMPOTENT';
  117. 如何验证主从一致
  118. Maatkit:mk-table-checksum
  119. p124 想在slave上忽略一个表,不要用binlog_ignore_db,用replicate-ignore-db=testdb代替
  120. 不支持低版本向高版本同步?
  121. 5.5.20+ MySQL>reset slave all;
  122.  
  123. 性能调优
  124.  
  125. 5.6一个表里多个字段可以是TIMESTAMP,5.5只能有一个 ?
  126. p152 pt-online-schema-change(实际就是创建了一个新表,st)
  127. 实际上还是MVCC没实现好吧
  128. p177 Read Commited:会导致不可重复读、虚读和第二类丢失更新等并发问题
  129. p179 like '%xxx%':覆盖索引
  130. p182 加快count(*)
  131. count(辅助索引)
  132. count(distinct x)
  133. ON REPLICATE KEY UPDATE
  134. my.cnf配置文件调优
  135. per_thread_buffers优化*
  136. global_buffers优化*
  137. 5.6同步复制新特性
  138. 会通过内部GTID机制自动找同步点
  139. 多个库之间可多线程复制
  140.  
  141. 备份与恢复
  142.  
  143. --dump-slave 降低主库压力
  144. master_LOG_POS
  145. 新工具mydumper
  146. 热备份
  147. Percona xtrabackup
  148.  
  149. 目前流行的4种HA架构
  150.  
  151. 自带的Replication
  152. Keepalived
  153. MMM(主主,By Google)
  154. Heartbeat + DRBD
  155. RHCS共享存储架构
  156.  
  157. 批量管理服务器
  158. 性能监控
  159. 服务监控
  160. 项目案例讲解
Add Comment
Please, Sign In to add comment