- 博客(207)
- 资源 (2)
- 收藏
- 关注
转载 MongoDB 副本集PSA架构痛点
为了支持业务读取,MongoDB主库需要在内存中维护这些最近 Majority Commit Point 的快照数据,所以内存写入压力会放大,内存使用也会增加,最终这些内存数据溢出,可能会被交换到磁盘上的SWAP分区,大大的影响MongoDB的性能。如果你的MongoDB副本集是3副本,建议使用PSS的架构,也就是一个Primary,两个Secondary,虽然多占用了一些磁盘空间,但是数据多了一份冗余,而且不会遇到PSA架构下的上述问题。而这个回滚操作,很可能中断在中间某个步骤,造成数据错乱,无法修复。
2023-04-20 16:51:49
366
转载 MySQL DELETE 删除语句加锁分析
转自https://www.fordba.com/lock-analyse-of-delete.html1. 前言在MySQL的使用过程中,对SQL加锁的类型经常感到疑惑,这让死锁分析也变得举步维艰。因此需要将MySQL的各种SQL在各个隔离级别下加的锁进行分析,以免再次分析的时候还感到疑惑,也方便用于查询。本次分析对SQL的删除语句进行分析,主要从以下几种情况进行分析:非唯一索引删除一条存在的记录 唯一索引删除一条存在的记录 主键删除一条存在的记录 非唯一索引删除一条不存在记录 唯
2021-03-25 15:07:09
1682
转载 Linux系统中网络PPS值测量
概述网络设备的转发性能以“包转发性能”来表示,即设备在单位时间内能够处理多少个“包”,这决定了设备转发能力的强弱。包转发性能比较常见的单位是“PPS”,即Packet Per Second(包每秒)。线速转发如果一个端口(包括交换机、服务器)在满负载的情况下,对帧进行无差错的转发称为线速转发。由以太网的设计规则,以太网帧最小64字节,根据端口速度,计算可以得出线速转发的PPS值。Linux下如何统计出PPS值使用sar命令 sar -n DEV 5 10000.
2020-12-27 16:23:16
2620
转载 网络监控:带宽、延时、吞吐率、PPS
Linux 网络协议栈是根据 TCP/IP 模型来实现的,TCP/IP 模型由应用层、传输层、网络层和网络接口层,共四层组成,每一层都有各自的职责。应用程序要发送数据包时,通常是通过 socket 接口,于是就会发生系统调用,把应用层的数据拷贝到内核里的 socket 层,接着由网络协议栈从上到下逐层处理后,最后才会送到网卡发送出去。而对于接收网络包时,同样也要经过网络协议逐层处理,不过处理的方向与发送数据时是相反的,也就是从下到上的逐层处理,最后才送到应用程序。网络的速度往往跟用户体验是挂
2020-12-27 16:21:52
2975
转载 binlog组提交
原文:https://www.cnblogs.com/0591jb/p/13918052.html通过sync_binlog=1控制事件持久化到磁盘,每次事务提交时进行fsync操作,将消耗大量的磁盘IOPS,如何最大化的提高性能,降低fsync对事务高并发的影响呢?一. 二阶段提交binlog是MySQL服务层产生的日志,每个线程有独立的缓存,在事务提交时才写入磁盘(fsync行为依赖sync_binlog设置),无法进行回滚,是逻辑的日志,记录行的改变或SQL语句。redo日志(WAL)
2020-12-24 11:35:03
693
转载 Innodb MVCC实现原理
原文:https://zhuanlan.zhihu.com/p/52977862理解MVCC之前,我们需要回顾了解一下数据库的一些其他相关知识点(1)数据库为什么要有事务?为了保证数据最终的一致性。(2)事务包括哪几个特性?原子性、隔离性、一致性、持久性。参考:事务的ACID特性:https://zhuanlan.zhihu.com/p/27789602(3)事务的并发引起了哪些问题?事务并发会引起脏读、重复读、幻读问题。(4)怎么解决事务并发出现...
2020-12-23 20:21:15
727
转载 MySQL时区相关问题
转自:https://cloud.tencent.com/developer/article/1655945在使用 MySQL 的过程中,你可能会遇到时区相关问题,比如说时间显示错误、时区不是东八区、程序取得的时间和数据库存储的时间不一致等等问题。其实,这些问题都与数据库时区设置有关,本篇文章将从数据库参数入手,逐步介绍时区相关内容。1.log_timestamps 参数介绍首先说明下log_timestamps参数并不影响时区,只是设置不同会影响某些日志记录的时间。该参数主要是控制 error
2020-12-11 12:47:27
193
转载 Linux下使用screen工作How-to
原文:http://www.orczhou.com/index.php/2010/08/linux-screen-how-to/通过ssh在Linux终端下工作,有一个很烦的事情就是,如果需要执行一个长时间的命令(例如拷贝一个大文件,或者做DDL)时,如果终端意外断开(网络或者别的原因),一般命令就会终止,当然你可以使用nohup命令,这里提供另一个办法:使用screen。一般
2016-09-20 12:06:07
622
1
转载 MySQL的一个表最多可以有多少个字段
原文:http://mp.weixin.qq.com/s?__biz=MzAwMjkyMjEwNg==&mid=2247483785&idx=1&sn=1d90a44915d1028c6dc150367e1af033#rd问题由来引用我们客户的原话:*创建如下表,提示我:**如果我将下面表中的varchar(200),修改成text(或blob):报错变为另一个:*
2016-07-12 16:11:08
32720
1
转载 MySQL 优化器开关
原文:http://blog.youkuaiyun.com/yueliangdao0608/article/details/21175641MySQL 从5.1开始,提供了关于优化器选项的开关选项。 这样,我们可以强制在优化器糊涂的时候,关闭一些我们认为不该做的事情;或者是当我们想查看优化器为什么要这么选择的时候,可以手动关闭或者打开这些选项来进行优化策略的改变。MySQL 从5.5 和 5.6 开始
2016-04-14 19:51:53
843
转载 Relay log 中 GTID group 完整性检测bug
原文:http://mysql.taobao.org/monthly/2015/04/07/bug背景官方 5.7.6 版本对 gtid 有非常多的改进和bugfix,其中有一个 bugfix 是针对 relay log 中没有接收完整的 gtid 事务的。正常的relay log 中的 gtid 事务应该是像下面这样:1. gtid event2. query event
2016-02-03 18:33:49
636
转载 GTID下slave_net_timeout值太小问题bug
原文:http://mysql.taobao.org/monthly/2015/04/06/背景官方 5.6 最新版本 5.6.24 有这样一个bugfix,当使用 GTID 协议进行复制,并且备库的 slave_net_timeout 值设置太小的话,备库的 slave io 线程会卡住,同时主库上的 binlog dump 线程数一直在涨,官方的bug地址 。bug分析
2016-02-03 18:33:01
715
转载 连接断开导致XA事务丢失
原文:http://mysql.taobao.org/monthly/2015/04/05/我们看到在MySQL 5.7版本里大量遗留很多年的bug都被fix掉了,bug#12161就是其中一个,该bug在2005年第一次report到Bug list上,十年之后终于在MySQL 5.7.7 第一个RC版本被fix了。Bug描述当我们显式开启一个XA事务,执行操作,并完成XA
2016-02-03 18:30:44
701
转载 TokuDB · 行锁(row-lock)与区间锁(range-lock)
原文:http://mysql.taobao.org/monthly/2015/04/03/简介TokuDB使用LockTree(ft-index/locktree)来维护事务的锁状态(row-lock和range-lock),LockTree的数据结构是一个Binary Tree。 本篇将通过几个“栗子”来谈谈TokuDB的row-lock和range-lock。 表
2016-02-03 18:29:57
877
转载 InnoDB undo log 漫游5.7
原文:http://mysql.taobao.org/monthly/2015/04/01/本文是对整个Undo生命周期过程的阐述,代码分析基于当前最新的MySQL5.7版本。本文也可以作为了解整个Undo模块的代码导读。由于涉及到的模块众多,因此部分细节并未深入。前言Undo log是InnoDB MVCC事务特性的重要组成部分。当我们对记录做了变更操作时就会产生undo记录,U
2016-02-03 18:27:39
440
转载 收藏8
原文:http://mysql.taobao.org/index.php?title=MySQL%E5%86%85%E6%A0%B8%E6%9C%88%E6%8A%A5_2015.03目录 [隐藏]1 MySQL · 答疑释惑· 并发Replace into导致的死锁分析2 MySQL · 性能优化· 5.7.6 InnoDB page fl
2016-02-03 18:25:41
489
转载 收藏7
原文:http://mysql.taobao.org/index.php?title=MySQL%E5%86%85%E6%A0%B8%E6%9C%88%E6%8A%A5_2015.02目录 [隐藏]1 MySQL · 性能优化· InnoDB buffer pool flush策略漫谈2 MySQL · 社区动态· 5.6.23 InnoDB相关
2016-02-03 18:24:55
691
转载 收藏6
原文:http://mysql.taobao.org/index.php?title=MySQL%E5%86%85%E6%A0%B8%E6%9C%88%E6%8A%A5_2015.01目录 [隐藏]1 MySQL · 性能优化· Group Commit优化2 MySQL · 新增特性· DDL fast fail3 MySQL · 性能优化
2016-02-03 18:22:53
391
转载 收藏5
原文:http://mysql.taobao.org/index.php?title=MySQL%E5%86%85%E6%A0%B8%E6%9C%88%E6%8A%A5_2014.12目录 [隐藏]1 MySQL· 性能优化·5.7 Innodb事务系统2 MySQL· 踩过的坑·5.6 GTID 和存储引擎那会事3 MySQL· 性能优化·thre
2016-02-03 18:15:55
481
转载 收藏4
原文:http://mysql.taobao.org/index.php?title=MySQL%E5%86%85%E6%A0%B8%E6%9C%88%E6%8A%A5_2014.11目录 [隐藏]1 MySQL· 捉虫动态·OPTIMIZE 不存在的表2 MySQL· 捉虫动态·SIGHUP 导致 binlog 写错3 MySQL· 5.7
2016-02-03 18:02:12
554
转载 收藏3
原文:http://mysql.taobao.org/index.php?title=MySQL%E5%86%85%E6%A0%B8%E6%9C%88%E6%8A%A5_2014.10目录 [隐藏]1 MySQL· 5.7重构·Optimizer Cost Model2 MySQL· 系统限制·text字段数3 MySQL· 捉虫动态·binlo
2016-02-03 18:01:00
436
转载 收藏2
原文:http://mysql.taobao.org/index.php?title=MySQL%E5%86%85%E6%A0%B8%E6%9C%88%E6%8A%A5_2014.09#MySQL.C2.B7.E3.80.80.E6.8D.89.E8.99.AB.E5.8A.A8.E6.80.81.C2.B7GTID_.E5.92.8C_DELAYED目录 [隐
2016-02-03 17:59:34
445
转载 收藏1
原文:http://mysql.taobao.org/index.php?title=MySQL%E5%86%85%E6%A0%B8%E6%9C%88%E6%8A%A5_2014.08#MySQL.C2.B7.E3.80.80.E5.8F.82.E6.95.B0.E6.95.85.E4.BA.8B.C2.B7timed_mutexes目录 [隐藏]1 M
2016-02-03 17:58:01
1058
转载 GTID不一致分析
原文:http://mysql.taobao.org/monthly/2016/01/08/背景server A,B 为双主结构,对于 server A 当gtid_next设置为AUTOMATIC时,A上执行的事务在binlog刷盘时递增获取事务的gtid,从而保证了在binlog中属于A的gtid是连续递增的。A的binlog在B应用时,B会通过 Executed_Gt
2016-02-03 17:54:25
2237
转载 drop table的优化
原文:http://mysql.taobao.org/monthly/2016/01/07/背景系统为了加速对象的访问,通常都会增加一层缓存,以缓解下一层IO的瓶颈,OS的page cache和数据库的buffer pool都基于此。但对象的删除,如果同步清理对象的缓存的话,不仅大大增加了延时,同时可能因为缓存过大导致IO blooding。所以针对缓存的清理,都会采用la
2016-02-03 17:53:39
809
转载 MySQL5.7 的 JSON 实现
原文:http://mysql.taobao.org/monthly/2016/01/03/介绍本文将介绍 MySQL 5.7 中如何实现非结构化(JSON)数据的存储,在介绍 MySQL 5.7 的非结构化数据存储之前,首先介绍在之前的 MySQL 的版本中,用户如何通过 BLOB 实现 JSON 对象的存储,以及这样处理的缺点是什么,这些缺点也就是 MySQL 5.7 支持
2016-02-03 17:51:57
555
转载 优化器 MRR & BKA
原文:http://mysql.taobao.org/monthly/2016/01/04/上一篇文章咱们对 ICP 进行了一次全面的分析,本篇文章小编继续为大家分析优化器的另外两个选项: MRR & batched_key_access(BKA) ,分析一下他们的作用、原理、相互关系、源码实现以及使用范围。什么是 MRRMRR 的全称是 Multi-Range Read Op
2016-02-03 17:51:17
603
转载 物理备份死锁分析
原文:http://mysql.taobao.org/monthly/2016/01/05/背景本文对 5.6 主备场景下,在备库做物理备份遇到死锁的case进行分析,希望对大家有所帮助。这里用的的物理备份工具是 Percona-XtraBackup(PXB),有的同学可能不清楚其备份流程,所以这里先简单说下,PXB的备份步骤是这样的:拷贝 InnoDB redo
2016-02-03 17:50:18
578
转载 TokuDB · Cachetable 的工作线程和线程池
原文:http://mysql.taobao.org/monthly/2016/01/06/介绍TokuDB也有类似InnoDB的buffer pool叫做cachetable,存储数据节点(包括叶节点和中间节点)和rollback段,本文中为了表达简单,叶节点,中间节点和rollback段统称数据节点。Cachetable是全局唯一的,它与MySQL实例存在一一对应的关系。T
2016-02-03 17:49:24
523
转载 InnoDB 事务锁系统简介
前言本文的目的是对 InnoDB 的事务锁模块做个简单的介绍,使读者对这块有初步的认识。本文先介绍行级锁和表级锁的相关概念,再介绍其内部的一些实现;最后以两个有趣的案例结束本文。本文所有的代码和示例都是基于当前最新的 MySQL5.7.10 版本。行级锁InnoDB 支持到行级别粒度的并发控制,本小节我们分析下几种常见的行级锁类型,以及在哪些情况下会使用到这些类型的锁。LOCK
2016-02-03 17:46:52
512
转载 mysql 5.6 binlog组提交实现原理
原文:http://blog.itpub.net/15480802/viewspace-1411356Redo组提交Redo提交流程大致如下lock log->mutexwrite redo log buffer to diskunlock log->mutexfsyncFsync写磁盘耗时较长且不占用log->mutex,也就是其执行期
2016-01-06 09:51:00
746
转载 MySQL 5.7 并行复制实现原理与调优
原文:http://www.innomysql.net/article/16317.htmlMySQL 5.7并行复制时代众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持“真正”的并行复制功能,官方称为为enhanced multi-threaded slave(简称MTS)
2016-01-05 16:37:12
554
转载 MySQL子查询(一)—— EXISTS与IN
原文:http://www.innomysql.net/article/69.htmlEXISTS是一个非常强大的谓词,它允许数据库高效地检查指定查询是否产生某些行。通常EXISTS的输入是一个子查询,并关联到外部查询,但这并不一定是必须的。根据子查询是否返回行,该谓词返回TRUE或FALSE。例如下面的SQL语句:1234
2016-01-05 16:03:21
1538
转载 MySQL的SSL加密连接与性能开销
原文:http://www.innomysql.net/article/24297.html前言在生产环境下,安全总是无法忽视的问题,数据库安全则是重中之重,因为所有的数据都存放在数据库中。MySQL在5.7版本之前对于安全问题的确考虑并不充分,导致存在比较大的隐患,比如下面的这些问题,可能有些小伙伴知道,有些却还不知道:1.MySQL数据库默认安装的用户密码为空2
2016-01-05 15:55:44
611
转载 关于MySQL密码你应该知道的那些事
原文:http://cenalulu.github.io/mysql/myall-about-mysql-password/本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进MySQL用户密码是如何生成和保存的如果你已经接触MySQL一段时间了,那么想必你一定知道MySQL把所有用户的用户名和密码的密文存放在mysql.user表中。大
2015-12-31 09:36:48
464
转载 MySQL timeout相关参数解析和测试
原文:http://cenalulu.github.io/mysql/mysql-timeout/MySQL中有两个关于连接超时的配置项: wait_timeout和interactive_timeout。他们之间在某些条件下会互相继承,那究竟这两个参数会在什么情况下起作用呢? 本文将会通过一些测试实例来证明总结两者的相互关系。参数介绍inter
2015-12-31 09:13:29
403
转载 关于Relay Log无法自动删除的问题
原文:http://cenalulu.github.io/mysql/cannot-rotate-relaylog/本文介绍了一次运维实践中relay-log长期无法自动删除的原因和解决过程背景: 今天在运维一个mysql实例时,发现其数据目录下的relay-log 长期没有删除,已经堆积了几十个relay-log。 然而其他作为Slave服务器实例却没有这种情况。
2015-12-30 18:06:40
558
转载 MySQL工具汇总
原文:http://cenalulu.github.io/mysql/mysql-tools-list/本文汇总了和MySQL运维开发相关的所有工具,并会持续更新工具套件集percona-toolkitoak-toolkitps-helper(performance schema 工具函数集)MySQL 实时状态分析innotoporzdbamyto
2015-12-30 17:30:16
343
转载 MySQL Server has gone away报错原因汇总
原文:http://cenalulu.github.io/mysql/mysql-has-gone-away/本文将总结和汇总MySQL Server has gone away这类报错发生的原因背景:在平时和开发的交流 以及 在论坛回答问题的或称中会发现这个问题被问及的频率非常高。程序中报错: MySQL server has gone away 是什么意思? 如何避
2015-12-30 17:28:30
414
转载 MySQL Binlog Server(5.6)
原文:http://wubx.net/mysql-binlog-server/MySQL Binlog Server:是利用某个工具,把线上活跃的库的日志拉取到本地进行备份。在MySQL 5.6以后,可以利用mysqlbinlog这个命令去把远程机器的日志备份到本地目录,从而达到增量或是日志安全方面的备份。做好MySQL日志的备份,是数据安全的一个重要保证。以前通过写程序来实现
2015-12-12 11:11:19
981
jni.chm(Java调用c语言)
2009-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人