自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(369)
  • 收藏
  • 关注

转载 Postgresql之HOT技术简析

背景: PG实现了MVCC,但是没有引入undo表空间,为实现多版本读,所有的update操作都插入一个新版本行(delete-marked-old + insert-new),数据行的各个版本从老到新形成一...

2016-07-09 09:06:25 691

转载 swap空间不足导致mysql被OOM kill案例

背景: 某机器内存256G,安装2实例mysql,每个 buffer_pool各106G,总计212G; 某套DB晚上10:00左右迁移到该环境,第2天早上10:00左右收到OOM kill短信,因...

2015-10-24 02:02:01 362

转载 排序sql升级5.6变慢原因分析

背景: 某业务DB从5.5升级5.6后,同一sql执行时间由毫秒级飙升到了20秒,sql文本如下 点击(此处)折叠或打开 select * fro...

2015-10-24 01:57:56 286

转载 mysql localhost登录和tcp/ip登录

小结:1mysql的账户名格式为user@host,host为%时表示匹配任意主机或ip,但是localhost除外,也就是说必须为localhost显示创建账号;2登录mysql时若指定localhost选...

2015-07-29 10:53:50 889

转载 binlog_ignore_db陷阱之备库无法同步

问题描述: 新上线的主备从库(5.5 + statement),自从备库建立并且change master指向主库后,就无法接受主库新产生的数据; 备库执行show slave status,IO...

2015-07-02 11:19:36 514

转载 http中的cookie和session概念

1 背景 HTTP协议本身是无状态的,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息; 具体来说cookie机制采用的是在客户端保持状态的方案,而sess...

2015-03-18 19:45:39 172

转载 mydumper工作原理

相比mysqldump,其优势如下: 1 速度快(好多资料都说快10倍,个人持保留意见); 2 支持多线程导出和导入myloader; 3 采用守护进程方式运行,可定时扫描和快照binl...

2015-03-18 19:43:52 165

转载 tcprstat和tcpstat工作原理

1 tcprstat 原理 采用libpcap捕获tcp,计算请求响应时间并进行一系列聚集统计,响应时间 = diff(last inbound packet, first outbound...

2015-03-09 20:35:12 463

转载 mysql并发线程控制之控制thread_running数量

前面两篇帖子分别总结了innodb_thread_concurrency和thread pool的原理: 前者是在存储引擎层面限制并发运行的线程数,代码路径过于靠后,此时query已在server层完成解析;...

2015-03-08 12:13:19 3665

转载 mysql并发线程控制之thread pool和优先队列

之前根据官方资料整理了一篇笔记,现在读起来感觉就是在凑数,在网上看到高人的一篇帖子http://www.gpfeng.com/?p=540,现在重新整理记录一下。 Maria引入thread pool,perc...

2015-03-08 11:54:34 239

转载 mysql并发线程控制之innodb_thread_concurrency的改进

innodb_thread_concurrency算法介绍: 1、server层到innodb层读写数据是一条一条记录进行的,每次读写都会进/出一次InnoDB层(row_search_for_mysql),进...

2015-03-08 11:38:51 414

转载 tcmalloc的工作原理

Tcmalloc优势 1 速度快 ptmalloc在一台2.8GHz的P4机器上(对于小对象)执行一次malloc及free大约需要300纳秒。而TCMalloc的版本同样的操作大约只需要50纳秒。...

2015-03-08 11:28:06 183

转载 seconds_behind_master的陷阱和pt-heartbeat

Seconds_behind_master In essence, this field measures the time difference in seconds between the slave ...

2015-03-08 11:24:48 193

转载 memcache的item key和序列化

一个完整的item长度是键长+值长+后缀长+item结构大小(32字节),item操作就是根据这个长度来计算slab的classid的。 +----------------------------------...

2015-02-11 20:05:04 190

转载 mysql_proxy工作原理和配置参数

Mysql服务器和客户端建立连接过程如下 认证通过,客户端发起查询请求,服务器可能返回3种结果; 图片来源h...

2015-02-10 18:56:52 129

转载 mysql replication之GTID

原理 5.6引入,在整个复制拓扑结构内,每个事务拥有自己全局唯一标识,,每个GTID对应一个事务;。 GTID包含两个部分,一部分是实例的UUID,另一部分是实例内递增的整数,GTID = server...

2015-02-10 18:47:31 88

转载 table_map_event和table_id

row-based replication引入此事件TABLE_MAP_EVENT:The TABLE_MAP_EVENT defines the structure if the tables that are abo...

2015-02-08 14:58:18 296

转载 mysql semi-sync的演化

5.5引入semi-sync,当master事务提交后,由dump将对应binlog传给slaves,至少收到一个slave的ACK确认,master才返回给用户线程; 注意事项 ...

2015-02-08 13:02:25 131

转载 mysql多线程slave的演化

主要参考链接http://www.csdn.net/article/2015-01-16/2823591 淘宝内部分享:怎么跳出MySQL的10个大坑之 MySQL...

2015-02-08 09:59:51 123

转载 mysql loose index scan的实现

Loose index scan 各种资料关于loose index scan的解释很拗口,其实等同于oracle的index skip scan。 对于复合索引(sex, id),前导列sex的值只有...

2015-02-05 22:47:22 163

转载 mysql子查询的缺陷以及5.6的优化

分类 子查询分为from clause和where clause,在执行计划的select_type分别显示为derived和[dependent] subquery; 根据和外部查询的...

2015-02-05 21:06:28 258

转载 mysql的text/blob和行溢出

blob存储二进制,text存储文本,前者可当做大个的varbinary,而后者可看成升级版的varchar(与long varchar等价); 两者都有4种子类型:tiny,normal(默认),medium...

2015-02-04 19:58:35 244

转载 压力测试工具之mysqlslap

mysqlslap是一个mysql官方提供的压力测试工具。以下是比较重要的参数: –defaults-file,配置文件存放位置 –concurrency,并发数 –engines...

2015-02-04 19:55:38 134

转载 监控mysql之orzdba和orztop

这两款工具都是基于perl,由淘宝DBA朱旭编写。 Orzdba 将MySQL性能统计信息进行计算,统计MySQL/INNODB层面的各种指标(QPS/TPS/thread/buffer/log等), 将...

2015-02-03 20:16:35 244

转载 mysqldump的single-transaction和master-data

先看一下--lock-tables和--lock-all-tables --lock-all-tables 一次性锁定所有数据库的所有表,在整个dump期间一直获取global read lock; ...

2015-02-02 20:18:41 168

转载 memcache的线程模型

MC采用一master多worker的工作模型,由master负责accept客户端请求,然后以RR分发给worker; -t 线程数,用于处理请求,默认为4-b backlog队列长度,默认1024...

2015-02-01 11:09:08 74

转载 memcache的内存分配和重用机制

众所周知,memcache采用slab allocator管理内存,启动由-m指定可用的最大内存值(默认64M),默认是使用时再分配,-k可提前分配内存并锁定; 每个slab包含若干大小为1M的内存页,这些内存...

2015-01-31 23:02:11 128

转载 nginx proxy cache的实现原理

除了proxy cache,nginx还可对fastcgi的响应数据进行缓存,即fastcgi_cache,两者的配置和实现原理是一致的; 本文以fastcgi_cache为例,描述一下其实现原理,主要参考链接...

2015-01-30 21:13:25 315

转载 nginx proxy cache的配置实现

先了解一下http是如何使用和管理缓存的开启缓存时,http请求的流程如下1 接收请求,解析请求头2 查询本地副本3 新鲜度检测,验证副本是否足够新鲜4 创建响应并发送新鲜度检测expires:指...

2015-01-30 21:08:30 84

转载 tpcc-mysql的工作原理

1背景 TPC(Tracsaction Processing Performance Council)事务处理性能协会是一个评价大型数据库系统软硬件性能的非盈利的组织,TPC-C是TPC协会制定的,用来...

2015-01-29 20:00:49 204

转载 sysbench的实现原理

1简介 SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试: 1、cpu性能 ...

2015-01-29 19:51:00 591

转载 TCP segmentaion 和 checksum offload

为什么要offloading? TCP的分片和校验和计算原本都由CPU完成,最新的网络适配器实现了硬件级别的分片和校验和计算,减轻了主机CPU的负担从而提升本机网络包的吞吐量; 原理...

2015-01-27 10:05:09 1047

转载 mysql_safe和mysql_multi

1 mysql_safe 原理 mysqld_safe其实为一个shell脚本(封装mysqld),启动时需要调用server和database(即/bin和/data目录),因此需要满足下述条件之...

2015-01-23 15:46:00 59

转载 mysql 5.6 binlog组提交实现原理

Redo组提交 Redo提交流程大致如下 lock log->mutex write redo log buffer to disk unlock log->mut...

2015-01-22 20:20:55 208

转载 linux的中断负载均衡和RPS

中断类型 异常:又叫同步中断,由cpu产生,只有在一条指令终止后CPU才发出中断;取决于eip的值,又可分为故障fault,陷阱trap和中止abort; 中断:硬件外设依照CPU时钟信...

2015-01-20 18:53:52 520

转载 日志管理工具logrotate

1运行原理 Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate #!/bin/sh /usr/sbin/logrotate/etc/...

2015-01-16 14:45:10 94

转载 nginx处理http请求流程

监听套接字ngx_listenting_t->fd由获取accept_mutex的worker进程加入epoll监控,其handler为ngx_event_accept; 注:每个fd赋予一个ngx_co...

2015-01-07 10:47:48 228

转载 mysql主备库数据不一致的原因和解决方案

主备数据不一致常见原因1 备库写数据 2 执行non-deterministic query 3 回滚掺杂事务表和非事务表的事务4 binlog或者relay log数据损坏应对措施1 禁止修...

2014-11-25 17:38:56 655

转载 nginx的时间管理

gettimeofday()的开销在linux中,nginx通过gettimeofday()获取系统当前时间;gettimeofday是C库提供的函数(不是系统调用),它封装了内核里的sys_gettimeofday系统...

2014-11-24 15:25:44 99

转载 http proxy原理

本文内容主要来自http://www.fenesky.com/blog/2014/07/25/how-http-tunnel-works.html,在其基础上稍加整理。connect方法h...

2014-11-20 22:54:18 317

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除