mysql-proxy常见问题FAQ(四)

(1)如何实现最简单的读写分离?
shell> mysql-proxy \
–proxy-backend-addresses=10.0.1.2:3306 \
–proxy-read-only-backend-addresses=10.0.1.3:3306

(2)mysql proxy支持所有版本的mysql么?
只支持mysql5.0+的mysql协议。

(3)如果开启负载均衡,那事务怎么办?所有的query会发往同一台mysql么?
如果用户不专门定制Lua脚本,会发往同一台mysql,以保证其完整性。

(4)系统上下文切换代价大么?Lua脚本引入的额外开销有多大?
Lua很快,对于大部分应用来说,额外开销很小,原始包(raw packet)开销大概在400微秒左右。
SHENJIAN@58.COM 画外音:这,,,

(5)Lua脚本可以动态加载么?
升级了Lua脚本,连接建立后才会读取新的哟。

(6)如果proxy和mysql部署在一台机器上,有什么需要建议的呢?
proxy单独部署也可以,和mysql部署在同一台机器上也可以。相比mysql而言,proxy不怎么占CPU和内存,其性能损耗可以忽略不计。
SHENJIAN@58.COM 画外音:这,,,

(7)Lua脚本是预读到内存里的吧?还是说每次都要到文件系统里读?
客户端连接过来时,或者脚本更新时会读取,其他的时候都读内存哟。

(8)加入客户端连上来,出发了connect_server()函数,Lua脚本能连接多个mysql么?
可以,使用指引里有样例代码哟。

(9)proxy可以处理SSL连接么?
不可以,作为中间人,不能处理加密信息。

(10)proxy不会获取和保存我的明文密码吧?
不会,也获取不到。mysql协议不允许密码以明文传输,传输的都是加密后的密文。

(11)有隔离问题,调试问题的工具么?如果请求出错了,我怎么知道错误发生在mysql客户端,还是mysql服务端,还是proxy呢?
你可以自己在proxy里设置debug脚本进行调试,例如设置断点什么的。

(12)瞧你官网吹的,有哪个大网站用了mysql-proxy么?请求量是什么级别?
这问题问的,作为官网我,,,盖亚在线(http://www.gaiaonline.com/) 就是用的mysql-proxy哟,qps可以到2400。
SHENJIAN@58.COM 画外音:这是个外国的游戏网站,页面好丑啊。

(13)如果我在Lua脚本用使用LuaSocket可以么?
大哥,这可能引起阻塞的,强烈不建议这样。

评论关闭。