一 简介:我们来继续探讨cetus的细节问题
二 命令
1 select help 查看帮助
2 select * from backends 查看后端列表
3 select conn_details from backends 查看后端连接状态
4 show connectionlist 查看连接数,等同于mysql的show processlist
5 sql log start/stop/status; 审核日志管理
6 show status //查看状态(增删查改各种类型的统计)
7 show variables //查看系统变量
三 常用系统变量解析
enable-tcp-stream 默认为true 采用tcp stream来输出响应,规避内存炸裂等问题
long-query-time 默认为0.1 记录慢日志
max-allowed-packet 默认为32M 头包的大小,可以进行条件来避免java问题
default-pool-size 默认为最小值10 每个worker进程启动时允许创建的连接数 当前连接数不足此值时,会自动创建连接
max-pool-size 默认为20 每个worker进程允许创建的最大连接数,包括连接池里的空闲连接和正在使用的连接,相当于mysql的max_connetions
default-charset 默认为utf8
keeplive 如果配置 当cetus崩溃时会自动重启
四 用户操作
针对用户的操作会自动替换到user.josn上
update user_pwd set password='' where user=''
update app_user_pwd set password='111' where user='test_user'
delete user_pwd where user=' '
修改用户密码,如果不存在则会添加,如果存在就会替换.以下如果只执行一个,那么两个密码是一致的
五 审核日志
日志开启关闭sql log start/stop;
相关参数
sql-log-maxsize 最大单列日志 默认值为1G,单位为MB
sql-log-mode 日志记录类型 默认为backends 类型包含
connect connect模式打印的是客户端连接Cetus时,客户端发送的auth认证包的主要内容。
client client模式打印的是客户端发送的原始SQL语句等相关内容,该模式下,当Cetus接收到客户端的SQL请求后,立即打印该日志。
backend backend模式打印的是发送到SQL的语句等相关内容,该模式下,当MySQL将全部结果集发送回Cetus后才会打印该日志。
all 全部
sql-log-maxnum 保留历史文件个数 默认为3 0表示无限制
sql-log-switch 是否达到最大值后进行文件切割
六 压力测试
工具 sysbench 1.0+ (oltp.lua本身select是事务,所以不能进行读写分离业务测试)
具体命令
构建数据
sysbench /usr/local/share/sysbench/oltp_read_write.lua --mysql-host=1.1.7.6 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=ght --tables=10 --table-size=10000 --report-interval=10 prepare
测试
sysbench /usr/local/share/sysbench/oltp_read_write.lua --mysql-host=1.1.7.6 --mysql-port=7002 --mysql-user=root --mysql-password=123456 --mysql-db=ght --tables=10 --table-size=10000 --report-interval=10 --rand-type=uniform --percentile=99 --threads=128 --skip_trx --db-ps-mode=disable -- time=600 run
测试目标
1 直接连接mysql性能
2 读写分离的单机cetus
3 读写分离的lvs_cetus