pot*_*tto 2 mysql replication clustering scalability
有没有人有使用ScaleArc 的经验?
我的 CTO 询问了我对此的看法,但我没有看到有关现实世界体验的任何信息。
哈哈哈哈真是巧合。我被要求自己评估它。
这是迄今为止所做的......
这是我执行的基本测试:我决定连接到 MySQL,不使用 Master EC2,也不使用 Slave EC2,而只使用 ScaleArc EC2。这是一个用来测试连通性的脚本:
[redwards@lw-lts-155 ec2]$ cat master_select
EC2_DNS=<ScaleArc-EC2-DNS Hidden>
MYSQL_USER=<<Username Hidden>
MYSQL_PASS=<Password Hidden>
MYSQL_CONN="-u${MYSQL_USER} -p${MYSQL_PASS}"
mysql -h${EC2_DNS} ${MYSQL_CONN} -ANe"show variables like 'hostname'"
Run Code Online (Sandbox Code Playgroud)
结果如下:
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-242-47-176 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-205-21-233 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-242-47-176 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-242-47-176 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-242-47-176 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-242-47-176 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-205-21-233 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-242-47-176 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-205-21-233 |
+----------+------------------+
[redwards@lw-lts-155 ec2]$ ./master_select
+----------+------------------+
| hostname | ip-10-242-47-176 |
+----------+------------------+
Run Code Online (Sandbox Code Playgroud)
嘿,还不错。10 次中有 7 次到达从站。
至少,这就是人们想要的:只使用一个地址,连接到 MySQL 并让一些漫游智能决定连接到哪个数据库服务器。这一直是 MySQL 代理的所有狂热预测者的白日梦:
Dec 17, 2012
: MySQL 代理到复制配置Apr 19, 2012
:MySQL 代理的最新消息是什么?Jan 24, 2012
:使用复制进行横向扩展无论他们是使用 LUA 实现 MySQL 代理还是以某种专有方式编写脚本,底线是:ScaleArc 已经实现了这一点,并为我们所有人(至少在 AWS 领域)完成了繁重的工作。
我会说:继续玩它,如下所示:
抱歉,我不是 ScaleArc 的专家,这不是您的完整答案。试驾它并踢一些轮胎。
我下载了 sakila 数据库并将其加载到集群中。
wget http://downloads.mysql.com/docs/sakila-db.tar.gz
Run Code Online (Sandbox Code Playgroud)
然后,我运行了这个查询
SELECT actor_id FROM sakila.actor
ORDER BY MD5(CONCAT(last_name,first_name))
Run Code Online (Sandbox Code Playgroud)
并将结果存储在 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
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 !!!
归档时间: |
|
查看次数: |
1058 次 |
最近记录: |