※ 引述《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 這
邊,這樣我可以在裝機的時候直接安裝...