※ 引述《PokemonQuest (Pokemon Quest)》之铭言:
: 小弟在 aws ec2 上用 t2.medium 架在 us-west-2 US West (Oregon)
: 装 mysql 发现 query 时超级慢 跟本地端局域网路内的主机比起来
: 同一条 sql query
: 本地主机 MySQL 16ms 完成
: AWS EC2 的 MySQL 160ms 完成
: 执行时间整整差了 10 倍,有点受不了
推文有提到了,我还是认真多说一下好了,这是光速限制,你不爽可以找落观音去
找爱因斯坦抱怨。
https://zh.wikipedia.org/wiki/%E5%85%89%E9%80%9F
爱因斯坦于1905年首次提出“光速不变”这一公设。
因为目前大多数都是走海底光缆,光速在光纤里面大约是每秒 20 万公里。
你拉 Google Maps 可以知道台北到 Oregon 的大圆航线要 10000km (所以单趟需
要 50ms),而实际的光缆在拉的时候没办法完全照大圆航线拉,所以单趟可能会到
65ms~80ms,来回就大约 130ms~160ms,加上你本来的 16ms 差不多。
: 不晓得板上各位先进是否有经验
: 这种状况该如何改善?换 EC2 主机的区域吗?
: 还是将 t2.medium 升级? 我看 t2.medium 的网络频宽没有说很好?
: 谢谢
你遇到的问题跟频宽应该没什么关系,主要就是 latency 问题。把应用程式丢在
同一个 VPC 跑可行吗?(开另外一台 EC2 instance)
话说回来我超爱在 EC2 上装 Percona Server 5.7 (MySQL 5.7) 的,我自己还整
理了指令直接安装:
sudo apt install -y gnupg2 libjemalloc1; \
cd /tmp; \
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb; \
sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb; \
sudo apt update; \
sudo apt install -y percona-server-server-5.7; \
sudo service mysql stop; \
sudo chmod 755 /var/lib/mysql; \
cd /var/lib/mysql; \
sudo rm ib*; \
sudo chmod 750 /var/lib/mysql; \
cd /etc/mysql/percona-server.conf.d/; \
sudo mv mysqld.cnf mysqld.cnf.bak; \
sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-5.7.cnf; \
sudo mkdir /srv/tmp; \
sudo chmod 1777 /srv/tmp; \
sudo service mysql start
我把上面指令整成一行,放在 https://wiki.gslin.org/wiki/Percona_Server 这
边,这样我可以在装机的时候直接安装...