mysql的读写分离工具_mysql 读写分离工具

博主测试了360开源的数据库中间件Atlas,对其性能进行了评估。在并发2000时遇到问题,推测是由于MySQL无法及时提供空闲连接导致。尽管Atlas在高并发下表现出色,但未内置断开MySQL连接的机制,依赖MySQL自身的超时设置。此外,Atlas的读写分离策略是除纯读请求外,其他请求都将发送到主库。测试脚本和配置文件也在文中给出。
摘要由CSDN通过智能技术生成

前阵子测试了360开源出来的Atlas,总的来说挺好的,这里先标记下,备用。听说amoeba也不错,大牛还给我推荐了一篇文章,也先留着。

测试了下atlas的性能,挺给力的。

在并发2000时,atlas会提示I have no server backend,closing connection。判断应为mysql不能及时提供空闲连接导致,但atlas并未出现任何瓶颈。但是,atlas自身没有断开mysql连接的设置,完全依赖于mysql自身的超时时间。

其读写分离策略是除了完全的读请求,其余的都会将请求发给主库。

测试脚本:

#!/bin/bash

#***For pressure test Atlas***

date +"%H:%M:%S"

for ((i=0;i<1500;i++));do

{

num=`echo $RANDOM`

mysql -ushanks -p51cto -h192.168.122.100 -P8306 zabbix -e "insert into test_atlas values(\"${num}\")"

} &

done

date +"%H:%M:%S"

配置文件:

[mysql-proxy]

plugins = admin,proxy

admin-username = admin

admin-password = DD@123

admin-lua-script = /usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua

proxy-backend-addresses = 172.16.220.242:3306

proxy-read-only-backend-addresses = 172.16.220.243:3306@2

daemon = true

keepalive = true

event-threads = 4

log-level = message

log-path = /usr/local/mysql-proxy/log

instance = test

proxy-address = 0.0.0.0:8306

admin-address = 0.0.0.0:8307

min-idle-connections = 128

#tables = person.mt.id.3

#pwds = 8Z9V7iLZoR0=

charset = utf8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值