MySQL & MariaDB Online DDL 参考指南

概述在早期的 MySQL 版本中,DDL 操作(如创建索引等)通常都需要对数据表加锁,操作过程中 DML 操作都会被阻塞,影响正常业务。MySQL 5.6 和 MariaDB 10.0 开始支持 Online DDL,可以在执行 DDL 操作的同时,不影响 DML 的正常执行,线上直接执行 DDL 操作对用户基本无感知(部分操作对性能有影响)。不同版本的数据库对各种 DDL 语句的支持存在...

根据 MTBF & MTTR 评估系统可用性

MTBF (Mean Time Between Failure) 是平均无故障工作时间,单位是小时,表示相邻两次故障的时间间隔平均值,它是一种对系统可靠性的度量指标,这个值越大,说明系统越可靠。比如 数据库两次发生故障之间的时间间隔。MTTR (Mean Time To Repair) 是指平均修复时间,是指从故障发生到修复的时间间隔平均值,它是对系统维护性的一种度量指标,这个值越小,说明系统维...

MySQL 进阶:INFORMATION_SCHEMA

在使用命令行连接 MySQL 的时候,我们在执行 SHOW DATABASES 命令时,会发现除了自己拥有权限的数据库之外,还有另外一个名为 INFORMATION_SCHEMA 的表,这个表示用来做什么用的呢?在 MySQL 中, INFORMATION_SCHEMA 是用来访问数据库的元数据(比如数据库,表的名称,列的数据类型或者访问权限等)的,在每个 MySQL 的实例中,INFORMA...

MongoDB 部署 Replica Set

架构三台Server:A 192.168.100.10 Primary/SecondaryB 192.168.100.11 Primary/SecondaryC 192.168.100.12 Arbiter安装MongoDB创建复制集访问控制密钥复制openssl rand -base64 756 > mongodb.keychmod 400 mongodb.key以...

Linux 服务器下的 HTTP 抓包分析

说到抓包分析,最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了,但是有时候由于客户端开发人员(可能是第三方)知识欠缺或者其它一些原因,无法顺利的在客户端进行抓包分析,这种情况下怎么办呢?本文中,我们将给大家介绍在服务端进行抓包分析的方法,使用tcpdump抓包,配合Wireshark对HTTP请求进行分析,非常简单有效。本文将会持续修正和更新,最新内容请参考我的 G...

Gor 网络抓包和流量镜像

项目地址 :https://github.com/buger/goreplay流量抓包下面的命令实现了监听 88 端口的HTTP请求,过滤出请求路径为 /app/noticex 的请求,输出到标准输出复制/usr/local/bin/gor --input-raw :88 --output-stdout --http-allow-url /app/noticex流量镜像以下命令实现将所有...

TCPDUMP 简明教程

本文翻译自 A tcpdump Tutorial and Primer with Examples 一文,在使用Linux系统进行网络抓包分析的时候,一直没有找到比较简便的非图形界面的方法,在Linux系统下tcpdump命令确实是一柄利器,但是一直苦于学习成本较高,迟迟没有下手。看了 A tcpdump Tutorial and Primer with Examples 这篇文章之后,发现其实使...

RabbitMQ发布订阅实战-实现延时重试队列

RabbitMQ是一款使用Erlang开发的开源消息队列。本文假设读者对RabbitMQ是什么已经有了基本的了解,如果你还不知道它是什么以及可以用来做什么,建议先从官网的 RabbitMQ Tutorials 入门教程开始学习。本文将会讲解如何使用RabbitMQ实现延时重试和失败消息队列,实现可靠的消息消费,消费失败后,自动延时将消息重新投递,当达到一定的重试次数后,将消息投递到失败消息队列,...

理解 Linux 中的 free 命令

本文详细介绍了Linux系统中的free命令的使用方法以及关键参数的含义,这可能是你见过的关于free命令最详细的一篇文章了,绝对值得你收藏。free命令显示了Linux系统中物理内存、交换分区的使用统计信息。指标说明使用free命令查看内存信息,最重要的是理解当前系统的可用内存并不是直接看 free 字段就可以看出来的,应该参考的是复制可用内存 = free + buffers + c...