zoukankan      html  css  js  c++  java
  • 复制延迟,复制优化和参数模板

    复制延迟

    搞明白当前的数据库在干什么

    查看MySQL当前SQL的状态

    利用perf top查看MySQL的调度情况

    复制延迟解决方法

    常规检查

    所有的机器是不是一样

    MySQL的版本是不是一样

    相关配置是不是一样

    网络是不是存在较大的延迟

    IO thread延迟

    master: show master status;

    slave: show slave statusG read_master_log_file,read_master_log_pos < master_log_file,master_log_pos

    SQL thread延迟

    是否开启并行复制(主从:binlog group commit)

    是否启用writeset

    更改从库的事务提交配置

    检查是不是存在没有主键的表

    禁用表的自动收集统计信息

    复制优化

    master配置优化

    binlog_format = row

    binlog_row_image = full

    gtid_mode = on

    enforce_gtid_consistency = on

    #binlog group commit

    binlog_group_commit_sync_delay = 100

    binlog_group_commit_sync_no_delay_count = 10

    binlog_order_commits = off

    #writeset

    transaction_write_set_extraction = on

    binlog_transaction_dependency_tracking = COMMIT_ORDER | WRITESET | WRITESET_SESSION

    binlog_transaction_dependency_history_size = 25000

    io_thread配置优化

    slave_net_timeout = 20 | 30

    io_thread更多的优化:change master to 相关参数

    master_connect_retry = 60

    master_connect_count = 24*3600

    master_auto_position = 1

    master_delay = 0

    master_bind = ''

    sql_thread配置优化

    log_slave_updates

    slave_parallel_type = LOGICAL_CLOCK

    slave_parallel_workers = 4 | 8

    slave_checkpoint_group = 512

    slave_checkpoint_period = 300

    slave_preserve_commit_order = on

    slave_rows_search_algorithms = INDEX_SCAN,HASH_SCAN

    其他优化

    sync_binlog = 0

    innodb_flush_log_trx_commit = 2

    read_only = 1

    super_read_only = 1 

    #binlog group commit

    binlog_group_commit_sync_delay = 100

    binlog_group_commit_sync_no_delay_count = 10

    描述出复制原理(异步,io_thread,sql_thread,半同步)

    搭建新的从库,利用复制做数据迁移

    理解增强半同步复制 & binlog写入增强

    binlog group commit & writeset & 并行复制

    可以处理复制故障 & 理解复制延迟

    理解多源复制,延迟复制,复制过滤

    复制参数配置终版

    binlog相关优化配置(含binlog group commit)

    binlog_format = row 

    log_bin = /data/mysql/mysql3306/logs/mysql-bin

    max_binlog_size = 1024M

    binlog_rows_query_log_events = on

    log_slave_updates = on

    expire_logs_days = 7

    binlog_cache_size = 65536                      # 65535 (64k)

    binlog_checksum = none                        # CRC32

    sync_binlog = 1

    slave-preserve-commit-order = on

    #GTID

    gtid_mode = on

    enforce_gtid_consistency = on

    #binlog group commit

    binlog_group_commit_sync_delay = 100

    binlog_group_commit_sync_no_delay_count = 10

    io_thread相关优化配置

    slave_net_timeout = 20 | 30 | 60

    change master to ... master_connect_retry masster_retry_count master_heartbeat_period

    max_relay_log_size = 8M

    relay_log = relay-bin

    relay_log_recovery = on

    sql_thread相关优化配置(含并行复制,writeset配置)

    slave_parallel_type = logical_clock

    slave_parallel_workers = 4

    slave_preserve_commit_order = on

    slave_rows_search_algorithms = INDEX_SCAN,HASH_SCAN

    #writeset

    binlog_transaction_dependency_tracking = writeset | write_session

    transaction_write_set_extraction = XXHASH64

    半同步中参数优化配置

    rpl_semi_sync_master_enabled = 1

    rpl_semi_sync_slave_method = 1

    rpl_semi_sync_master_timeout = 1000

    其它复制相关的特性及配置

    relay_log_recovery = 1

    sync_relay_log_info = 1

    master_info_repository = table

    relay_log_info_repository = table

    skip_slave_start = 1

  • 相关阅读:
    iOS小技巧总结,绝对有你想要的
    Myeclipse for Mac快捷键
    iOS开发如何学习前端
    iOS应用支持IPV6,就那点事儿
    App Store审核被拒的23个理由
    43个优秀的Swift开源项目
    ExtJs组件之间的相互访问,访问机制
    hibernate or连接查询内容/criteria动态或连接查询/disjunction/其他查询条件
    hibernate如何解除关系———只删除多方保留一方
    java如何操作视图
  • 原文地址:https://www.cnblogs.com/allenhu320/p/11338719.html
Copyright © 2011-2022 走看看