免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 24512 | 回复: 31

请教:关于mysql proxy 的参数配置 [复制链接]

论坛徽章:
0
发表于 2007-12-05 21:42 |显示全部楼层
我在测试mysql proxy的rw-splitting.lua脚本,我发现有一段代码
-- connection pool
if not proxy.global.config.rwsplit then
        proxy.global.config.rwsplit = {
                min_idle_connections = 4,
                max_idle_connections = 8,

                is_debug = false
        }
end

我很想知道, proxy.global.config.rwsplit 的值从哪里来?怎么能配置连接池的参数,比如min_idle_connections ,max_idle_connections = 8

[ 本帖最后由 zyrf2001 于 2007-12-6 12:56 编辑 ]

论坛徽章:
0
发表于 2007-12-07 15:09 |显示全部楼层
现在我知道可以修改这个代码
if not proxy.global.config.rwsplit then
        proxy.global.config.rwsplit = {
                min_idle_connections = 4,
                max_idle_connections = 8,

                is_debug = false
        }
end

直接改初始值就可以,或者发送命令mysql>set Global rwsplit.is_debug = 1

论坛徽章:
0
发表于 2007-12-12 00:09 |显示全部楼层
原帖由 zyrf2001 于 2007-12-7 15:09 发表
现在我知道可以修改这个代码
if not proxy.global.config.rwsplit then
        proxy.global.config.rwsplit = {
                min_idle_connections = 4,
                max_idle_connections = 8,
...

我使用这条代码但是还没有实现读写分离..
请教您是如何实现的..

论坛徽章:
0
发表于 2007-12-12 15:45 |显示全部楼层
mysql-proxy    --proxy-read-only-backend-addresses=192.168.0.77:3307 --proxy-backend-addresses=192.168.0.77:3305 --proxy-read-only-backend-addresses=192.168.0.77:3308 --proxy-lua-script=rw-splitting.lua

这样启动mysql proxy , --proxy-read-only-backend-addresses 的是从库, --proxy-backend-addresses 是主库的

论坛徽章:
0
发表于 2007-12-12 22:53 |显示全部楼层
原帖由 zyrf2001 于 2007-12-12 15:45 发表
mysql-proxy    --proxy-read-only-backend-addresses=192.168.0.77:3307 --proxy-backend-addresses=192.168.0.77:3305 --proxy-read-only-backend-addresses=192.168.0.77:3308 --proxy-lua-script=rw-splitt ...

我使用的是自带的 --proxy-lua-script=rw-splitt.lua 但是不能读写分离啊..

论坛徽章:
0
发表于 2007-12-13 13:09 |显示全部楼层
可以呀。我用的也是自带的脚本。你是依据什么判定不能实现读写分离的呢?

论坛徽章:
0
发表于 2007-12-17 15:12 |显示全部楼层
原帖由 zyrf2001 于 2007-12-13 13:09 发表
可以呀。我用的也是自带的脚本。你是依据什么判定不能实现读写分离的呢?

我在master上和slave上分别创建一个test库.然后创建test1 和test2的表.
master上和slave里面 test1 test2 的数据不一样.
我使用select * from test.test1 ;得到的是master上的数据
select * from test.test2时候得到的还是master的数据

论坛徽章:
0
发表于 2007-12-17 15:16 |显示全部楼层
mysql-proxy用的是sqf的负载均衡算法,默认把查询发送到第一个read-only-backend,你的脚本里master和第一read only backend都是同一台,当然就都发到master去了

论坛徽章:
0
发表于 2007-12-27 17:47 |显示全部楼层
原帖由 voxxu 于 2007-12-17 15:16 发表
mysql-proxy用的是sqf的负载均衡算法,默认把查询发送到第一个read-only-backend,你的脚本里master和第一read only backend都是同一台,当然就都发到master去了


只要mysql监听的端口不行就可以吧!
我用不同机器试了一下也是不行

# /usr/local/mysql/bin/mysql-proxy --proxy-read-only-backend-addresses=192.168.1.122:3306 --proxy-backend-addresses=192.168.1.122:3306 --proxy-lua-script=/usr/local/mysql/proxy_lua/mysql-proxy/rw-splitting.lua &

然后用4040端口连接
# /usr/local/mysql/bin/mysql -P4040
然后按照7楼的方法也是不行啊,查询出来的数据是master上的。

论坛徽章:
0
发表于 2007-12-28 09:56 |显示全部楼层
原帖由 mageguoshi 于 2007-12-27 17:47 发表


只要mysql监听的端口不行就可以吧!
我用不同机器试了一下也是不行

# /usr/local/mysql/bin/mysql-proxy --proxy-read-only-backend-addresses=192.168.1.122:3306 --proxy-backend-addresses=192.168. ...



你的脚本里master和slaver都是同一台,连端口都一样,当然都发到master了


proxy的读写分离机制是先把最初的几条查询发到master上建立连接,当发送到master上的查询数超过连接池的最小值时开始把查询发送到你脚本里排在第一位的read-only-backend,当第一个read-only处理不过来时再分发到第二个read-only
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP