• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
MySQL参数innodb_fast_shutdown&innodb_force_recovery介绍

MySQL参数innodb_fast_shutdown&innodb_force_recovery介绍

innodb_fast_shutdown innodb_fast_shutdown告诉 InnoDB 在它关闭的时候该做什么工作。 有三个值可以选择(默认值为1): 0:表示在 InnoDB 关闭的时候,需要 purge all,merge insert buffer,flush dirty pages。这是最慢的一种关闭方式,但是restart的时候也是……

从原则、方案、策略及难点阐述分库分表

从原则、方案、策略及难点阐述分库分表

一、分库分表原则 关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量、连接数、处理能力等都很有限,数据库本身的“有状态性”导致了它并不像Web和应用服务器那么容易扩展。在互联网行业海量数据和高并发访问的考验下,聪明的技术人员提出了分库分表技术(有些地方也称为Sharding、分片)。同时,流行的分布式系统中间件(例如MongoDB、ElasticSear……

MySQL读写IO的操作过程解析

MySQL读写IO的操作过程解析

数据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为(缓存系统也可以当做是key-value的数据库),本文主要介绍访问MySQL数据库的IO流程以及IO相关的参数。 一、MySQL的文件 首先简单介绍一下MySQL的数据文件,MySQL 数据库包含如下几种文件类型: 1)数据文件 (datafile) 存放表中的具体数据的文件。 2……

MySQL内存使用分析(OOM分析)

MySQL内存使用分析(OOM分析)

一、MySQL如何使用内存? 首先,介绍MySQL使用内存的一些方法: 会话级别的内存消耗(连接私有内存):如 sort_buffer_size 等,每个会话都会开辟一个 sort_buffer_size 来进行排序操作。 全局的内存消耗(共享内存):例如 innodb_buffer_pool_size 等,全局共享的内存段。 MySQL内存计算器 全……

通过学习Linux内存分配策略,搞明白进程OOM机制

通过学习Linux内存分配策略,搞明白进程OOM机制

第一章:学习Linux内存分配策略 今天想提到的是线上一个4G的RDS实例,发生了OOM(out of memory)的问题,MySQL进程被直接Kill掉了。在解释这个问题的时候,我们首先需要从Linux系统内存分配策略讲起。 一般写C语言程序,我们习惯使用malloc动态的申请内存空间(Java由JVM负责内存管理),malloc函数会向操作系统申请一段……

找出MySQL服务器发生SWAP的原因?

找出MySQL服务器发生SWAP的原因?

首先,讲一下MySQL的内存消耗分为: 会话级别的内存消耗:如 sort_buffer_size 等,每个会话都会开辟一个 sort_buffer_size 来进行排序操作。 全局的内存消耗:例如 innodb_buffer_pool_size 等,全局共享的内存段。 关于会话级的内存消耗解释如下: read_buffer_size,sort_buffe……

Linux服务:使用Supervisor管理进程

Linux服务:使用Supervisor管理进程

一、简介 由于基本每个公司都会用到supervisor这个进程管理工具,这里简单阐述一下。 Supervisor (http://supervisord.org) 是一个用Python写Linux下的进程集中管理工具,将非daemon程序变成deamon方式运行,对于daemon程序则不能监控。可以很方便地对管理的进程进行启动、重启、关闭操作(不仅仅是Pyt……