本篇内容主要讲解“分析数据库Seconds_Behind_Master延迟的原因”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分析数据库Seconds_Behind_Master延迟的原因”吧!这一类延迟情况可能造成服务器有较高的负载,可能是CPU/IO的负载。因为从库在实际执行Event,如果我们服务器的负载比较高应该考虑这几种情况。大事务造成的延迟,其延迟会不会从0开始增加,而是直接从主库执行了多久开始。比如主库执行这个事务花费的20秒,要么延迟就会从20开始,可以自己细心观察一下很容易看到。这是因为Query Event中没有准确的执行时间。大表DDL造成的延迟,其延迟会从0开始增加,因为Query Event记录了准确的执行时间表没有合理的使用主键或者唯一键造成的延迟。这种情况不要以为设置slave_rows_search_algorithm免费主机域名s参数为 INDEX_SCAN,HASH_SCAN就可以完全解决问题。由于参数sync_relay_log,sync_master_info,sync_relay_log_info不合理导致,特别是sync_relay_log会极大的影响从库的性能。原因我们在第26节进行过描述,因为sync_relay_log设置为1会导致大量relay log刷盘操作。是否从库开启了记录binary log功能即log_slave_updates参数开启,如果不是必要可以关闭掉。这种情况我遇到很多次了。这一类延迟情况往往不会造成服务器有较高的负载。它们要么没有实际的执行Event,要么就是做了特殊的操作造成的。长期未提交的事务可能造成延迟瞬间增加,因为GTID_EVENT和XID_EVENT是提交时间其他Event是命令发起的时间。这个我们在第27节中举例描述过了。Innodb层的行锁造成的延迟,这种是在从库有修改操作并且和SQL线程修改的数据有冲突的情况下造成的,因为我们前面23节说过SQL线程执行Event也会开启事务和获取行锁,下面我们进行测试。MySQL层的MDL LOCK造成的延迟,这种情况可能是由于SQL线程执行某些DDL操作但是从库上做了锁表操作造成。MTS中不合理的设置参数slave_checkpoint_period参数导致。在从库运行期间手动改大了从库服务器时间。因为上面的延迟情形很多我们都已经测试和讲述过了。下面我们测试锁造成的延迟情形。这个很容测试,我只要先在从库做一个事务和SQL线程修改的数据相同即可以出现,免费主机域名大概测试如下:这个时候你会观察到延迟如下:如果查看sys.innodb_lock_waits能看到如下的结果:当然如果查看INNODB_TRX也可以观察到事务的存在,这里就不截图了,大家可以自己试试。
本篇内容主要讲解“分析SQL SERVER SP解密过程推导”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分析SQL SERVER SP解密过程推导”吧!SQL SERVER SP解密过程推导 在SQL SERVE…