TokuDB索引结构TokuDB索引结构 网易杭州研究院---胡争(博客:openinx.github.io) TokuDB简介 • 基于分形树实现的MySQL存储引擎 • Tokutek公司2007年研发,2013年开源 • 2015年Percona公司收购Tokutek公司 • TokuDB内部的K-V存储引擎为ft-index • TokuMx: ft-index + MongoDB Server层代码0 码力 | 19 页 | 1.97 MB | 1 年前3
MySQL 8.0.17 调优指南(openEuler 20.09)续的代码开发中 去。 ● 性能调优不能以牺牲代码的可读性和可维护性为代价。 1.3 调优思路 性能优化首先要较为精准的定位问题,分析系统性能瓶颈,然后根据其性能指标以及 所处层级选择优化的方式方法。 下面介绍MySQL数据库具体的调优思路和分析过程,如图1所示。 调优分析思路如下: 1. 很多情况下压测流量并没有完全进入到服务端,在网络上可能就会出现由于各种 规格(带宽、最大连接数、新 1 调优概述 2020-10-15 2 2 硬件调优 2.1 BIOS配置 2.1 BIOS 配置 目的 对于不同的硬件设备,通过在BIOS中设置一些高级选项,可以有效提升服务器性能。 方法 步骤1 关闭SMMU。 说明 此优化项只在非虚拟化场景使用,在虚拟化场景,则开启SMMU。 1. 重启服务器过程中,单击Delete键进入BIOS,选择“Advanced > MISC Config”,单击Enter键进入。 7 IO 参数调优 3.8 缓存参数调优 3.9 内核优化 3.10 mysql进程绑核 3.1 关闭 irqbalance 目的 关闭irqbalance,通过手动绑定中断的方法优化性能。 方法 步骤1 停止irqbalance服务。 systemctl stop irqbalance.service 步骤2 关闭irqbalance服务。 systemctl disable0 码力 | 11 页 | 223.31 KB | 1 年前3
Oracle 和 MySQL 性能优化感悟1、定一个NSURLProtocol子类 2、注册这个类 3、NSURLProtocol子类实现 method swizzling 拦截的要点: • 拦截到 • 调回去 • 名词约定:原始方法、代理方法 method swizzling 原理 typedef struct objc_method *Method; typedef struct objc_ method { SEL method_name; method_imp; }; method swizzling 原理 基本步骤 1、用class_addMethod为某类添加“代理方法” 2、调用method_exchangeImplementations交换IMP 3、确保你的“代理方法”调用了“原始方法” method swizzling 原理 基本步骤 应用场景 优点/缺点/坑 method swizzling(改进版) 优点/缺点/坑 isa swizzling 特点:针对一个对象 1、(动态)创建目标类子类 2、(动态)为子类添加方法 3、修改目标对象的isa 原理 基本步骤 应用场景 优点/缺点/坑 isa swizzling+NSProxy 1、从NSProxy派生一个子类, 2、实现那三个方法 3、把目标对象的isa指向这个类 fishhook Runlook观察者/CADisplayLink0 码力 | 19 页 | 3.82 MB | 1 年前3
MySQL高可用 - 多种方案环境搭建好以后,就需要进行周密的测试,看是否实现了预期的功能: 停掉 master 上的 mysqld,看看是否切换(因为 heartheat 不检查服务的可 用性,因此需要你通过而外的脚本来实现,方法前面已经描述)。 停掉 master 的 heartheat 看看是否能正常切换。 停掉 master 的网络或者直接将 master 系统 shutdown,看看能否正常切换。 drbdsetup /dev/drbd0 primary -o mount /dev/drbd0 /drbd/ DRBD 脑裂后的处理 当 DRBD 出现脑裂后,会导致 drbd 两边的磁盘不一致,处理方法如下: 在确定要作为从的节点上切换成 secondary,并放弃该资源的数据: drbdadm secondary r0 drbdadm -- --discard-my-data connect 环境搭建好以后,就需要进行周密的测试,看是否实现了预期的功能: 停掉 master 上的 mysqld,看看是否切换(因为 heartheat 不检查服务的可 用性,因此需要你通过而外的脚本来实现,方法前面已经描述)。 停掉 master 的 heartheat 看看是否能正常切换。 停掉 master 的网络或者直接将 master 系统 shutdown,看看能否正常切换。0 码力 | 31 页 | 874.28 KB | 1 年前3
使用 Docker 建立 MySQL 集群接下来就需要配置两个数据库了,前提工作是镜像中并没有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb10 码力 | 3 页 | 103.32 KB | 1 年前3
共 5 条
- 1













