Category Archives: performance

performance

proxysql 介绍及测试使用

By | 2016-10-19

proxysql 是一个 MySQL 中间层的代理, 其源代码 proxysql在github 上托管, 兼容 MySQL 协议, 所以同样支持 Percona 和 MariaDB 分之版本. 同类的产品有 Atlas 和 kingshard, 三者相比较起来, Atlas 和 kingshard 的功能类似, 仅能代理指定的库, 同样都支持表分区处理; proxysql 则可以代理整个实例, 配置方便则是 cnf 文件 + sqlite3 + runtime 的方式实现, 特别灵活, 不过目前还没有实现表分区功能, 其它功能可以在官网介绍中查找. proxysql 的简单配置使用可以参考 consul-proxysql-mysql-ha 管理接口参见 proxysql wiki 下面部分主要介绍笔者在测试环境中的运行情况, 侧重于 proxysql 连接和直连之间的数据对比, 编码方面也会简单说明. 以下为测试环境的配置 系统环境: Centos 6.5 final,… Read More »

MySQL Router 测试使用

By | 2015-12-04

MySQL Router 测试使用 1. 特性 MySQL Router 并没有包括一些特别新的特性, 总体上看中规中矩, 不过 first-available 和插件两个特性挺有意思, 后续会进行讲解, 特性包括: 对连接请求进行路由; 和 Fabric 配套使用, 方便管理; 插件特性, 需要的功能以插件形式提供; 2. 配置 MySQL Router 在启动的时候会读取默认的配置文件, 用户可以通过 -DROUTER_CONFIGDIR= 或编辑 cmake/settings.cmake 来自定义配置文件, 默认情况下从以下路径读取: [root@cz-centos7 bin]# ./mysqlrouter –help Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or… Read More »

重启 iptables 影响 nf_conntrack 参数说明

By | 2015-11-03

重启 iptables 影响 nf_conntrack 参数说明 今天在新机房的机器上重启 iptables 后发现 net.nf_conntrack_max(最大跟踪的连接数) 会恢复成默认的 65536(RAM > 4G时, 该值默认为 65536), 在stop iptables 后, 通过命令 sysctl -a |grep nf_conntrack 查看已经不存在nf_conntrack 模块相关的参数信息. 从这点来看参数恢复成默认值本质上是因为在重启 iptables 的过程中重新加载了 nf_conntrack 模块;

监控及解析java thread信息

By | 2015-09-29

参考 https://github.com/rbrackma/java-thread-monitor-and-dumper https://github.com/stevegury/jstack-profiler https://github.com/aragozin/jvm-tools 监控 java thread 脚本通过 jstack 打印java 进程中的线程信息, 为避免进程重启带来的影响, 脚本通过选项 procuniqueid 唯一标识进程, 再通过标识跟踪相应 java 进程的信息. 该脚本可以很好的跟踪 java thread 线程持续增加的情况.

pcstat 如何获取内存页信息

By | 2015-08-08

1. 介绍 详见: https://github.com/tobert/pcstat pcstat 是 page cache stats 的缩写, 使用该工具可以帮助我们判断一个文件是否被 Linux cache 缓存, 或获取进程在 cache 中的缓存信息. 这在调优数据库或诊断其他 IO 密集型应用的场景下会有所帮助. 该工具的输出有多种格式, 选项包括: Usage of ./pcstat: -bname=false: convert paths to basename to narrow the output -histo=false: print a simple histogram instead of raw data -json=false: return data in JSON format -nohdr=false: omit the header from terse… Read More »

lvs DR模式均衡读请求

By | 2015-05-20

env环境: Director IP: 10.0.21.100 vitrual IP: 10.0.21.222 Real server1: 10.0.21.7 Real server2: 10.0.21.17 Director配置: net.ipv4.ip_forward = 1 # 开启ip转发 ip addr add 10.0.21.222/32 dev eth0; arping -c 3 -U 10.0.21.222 -I eth0 #配置vip并通告网络 ipvsadm -A -t 10.0.21.222:3301 -s rr #选择轮询调度模式 ipvsadm -a -t 10.0.21.222:3301 -r 10.0.21.7:3301 -g ipvsadm -a -t 10.0.21.222:3301 -r 10.0.21.17:3301 -g ipvsadm-save… Read More »

TokuDB 使用简单说明

By | 2015-04-23

按照官方的介绍, TokuDB 引擎是可扩展的,支持事务 ACID 特性, 支持多版本控制(MVCC), 这几点等同 InnoDB 的特性, 不过对基于索引的查询做了很好的改进, 还提供了支持在线表更改的支持(不是所有字段都支持, 后面再说明), 在磁盘和缓存方面也做了很好的改进. TokuDB 结合 松散树索引(Fractal Tree indexing) 可以应用于高负载的大量写(write-intensive)的场景里. 现在的限制还比较多, Percona 从 5.6.19-67.0 开始支持 tokudb, 现在还只能运行到 64 位的 Linux 版本中, Debian 6.0 和 Ubuntu 10.0.4 因为 gcc 版本冲突的原因也不支持, 同时也不支持外键(foreign key)功能,如果表有外键,切换到TokuDB引擎后,此约束将被忽略. 其它版本(mariadb, mongodb)的 TokuDB 引擎支持可以从 Tokutek 的github 页面查找: Tokutek 先从 tokudb-index-using-tokudb 概览下 TokuDB 的特性: 需要注意的是不要移动或修改任何 TokuDB… Read More »