SELECT actor_id FROM sakila.actor
ORDER BY MD5(CONCAT(last_name,first_name))
并将结果存储在actor_id.txt
接下来,我构建了以下脚本来在测试平台中多次启动 mysql ..
EC2_DNS=<ScaleArc-EC2-DNS Hidden>
MYSQL_USER=<Username Hidden>
MYSQL_PASS=<Password Hidden>
MYSQL_CONN="-h${EC2_DNS} -u${MYSQL_USER} -p${MYSQL_PASS} -Dsakila"
NUMBER_OF_TESTBEDS=${1}
PARALLEL_TESTS=${2}
if [ "${1}" == "" ] ; then NUMBER_OF_TESTBEDS=1 ; fi
if [ "${2}" == "" ] ; then PARALLEL_TESTS=1 ; fi
ACTOR_LIST=""
for ACTOR_ID in `cat actor_id.txt`
do
ACTOR_LIST="${ACTOR_LIST} ${ACTOR_ID}"
done
SQLPREFIX="SELECT F.film_id,F.title FROM actor A"
SQLPREFIX="${SQLPREFIX} INNER JOIN film_actor FA USING (actor_id)"
SQLPREFIX="${SQLPREFIX} INNER JOIN film F USING (film_id) WHERE A.actor_id="
for (( X = 1 ; X <= NUMBER_OF_TESTBEDS ; X++ ))
do
echo -n "Launching TestBed #${X} ("
for (( Y = 1 ; Y <= PARALLEL_TESTS ; Y++ ))
do
echo -n " ${Y}"
for ACTOR_ID in `echo "${ACTOR_LIST}"`
do
SQLSTMT="${SQLPREFIX}${ACTOR_ID}"
mysql ${MYSQL_CONN} -ANe"${SQLSTMT}" /dev/null 2>/dev/null &
done
done
echo -n ")"
wait
echo
done
哈哈哈哈哈哈哈好巧啊。我被要求亲自评估它。
这是到目前为止所做的...
以下是我执行的基本测试:我决定连接到 MySQL,不使用 Master EC2,也不使用 Slave EC2,而是仅使用 ScaleArc EC2。这是编写用于测试连接性的脚本:
这是结果:
嘿,还不错。10 次中有 7 次到达从站。
至少,这就是人们想要的:只使用一个地址,连接到 MySQL 并让一些流动智能决定连接到哪个数据库服务器。这是所有狂热的 MySQL 代理预测者的白日梦:
Dec 17, 2012
: MySQL代理复制配置Apr 19, 2012
: MySQL Proxy 的最新消息是什么?Jan 24, 2012
:使用复制进行横向扩展无论他们是使用 LUA 实现 MySQL 代理还是以某种专有方式编写脚本,底线是:ScaleArc 已经实现了这一点,并为我们所有人(至少在 AWS 宇宙中)完成了繁重的工作。
我会说:继续玩吧,如下所示:
抱歉,我不是 ScaleArc 方面的专家,这对您来说不是一个完整的答案。试驾它并踢一些轮胎。
更新 2013-01-14 16:32 EDT
我下载了 sakila 数据库并将其加载到集群中。
然后,我运行了这个查询
并将结果存储在
actor_id.txt
接下来,我构建了以下脚本来在测试平台中多次启动 mysql ..
希望这可以帮助 !!!
根据我的个人经验,Scale Arc 的支持是出了名的糟糕,而且他们的软件似乎非常不可靠。
我们的数据库与负载均衡器的连接无故失败。例如,我们的数据库连接失败,这会影响我们在网络服务器上运行的所有服务。当我们联系 Scale Arc 支持时,他们通常将其归咎于过期的 SSL 证书(他们的错),或与他们的软件同步问题(再次,他们的错)。解决同步问题(在主节点和多个从节点之间)需要两周的时间,支持技术人员才能通过软件日志来确定问题。
如果你要宣传 0% 停机时间,你应该确保你的支持团队拥有与你向客户营销的相同的 SLA。
尝试向您的老板解释所有网络服务器和数据库服务器都运行良好,除了我们支付给第 3 方公司以监控和支持的服务。我不需要追溯支持,我需要他们告诉我什么时候会出现故障,然后再取消我们公司赖以收入的每项服务。
如果我按照自己的方式行事,我会处理使用 HAproxy 设置高可用性网络所涉及的痛苦......
不要忽视你的客户