為什麼你不該使用 AWS Lightsail

近年來各大 VPS 的崛起,DigitalOcean、Vultr、Linode…等廠商的崛起,也讓老牌作為雲端運算廠商的 AWS 也跳下來參一腳,看似價格也挺有競爭力,但真的有那麼好嗎?去年就在 Lightsail 上踩了不少雷,就讓我娓娓道來吧。

看似還算有競爭力的配置,不過其實底層還是使用 EC2 來執行個體及 EBS 磁碟,看到這邊或許會覺得 EC2 很棒阿,是沒錯不過後面的 EBS 磁碟只能說是完全悲劇,原先其實也是不知道有這樣的問題,使用上也是沒問題,不過在網站的流量增加後就發現到 Lightsail 很難撐住較長時間的併發流量,起初也不知道為什麼一直卡死,後來開始監測後發現硬碟的 iops 實在非常悲劇,與 AWS Support 了解後得知,因為磁碟的 Burst I/O Credit 耗盡,就會降低到非常可怕的 Baseline performance。

測試工具:nench.sh

先拿自家的機器來玩玩,ESXi 之下硬碟使用 SSD 陣列 RAID 1,得到約 4k 的 iops。

DigitalOcean 也是測出約 4k 的 ipos。

DigitalOcean High CPU 方案甚至得到 8k 的 iops。

而差不多價格的 Lightsail 只有 300 iops。

當進入 Baseline performance 之後,測試的 iops 甚至不到 20,這是什麼速度呢?就是跟十年前的 5400 轉 2.5 吋硬碟差不多爛。

當 Lighsail 跑了比較大的站,Mysql 也在上面跑,還使用快取外掛導致大量的讀取檔案,你會發現真的是太可怕了。

根據 AWS 的計算方式,1G 的空間會給予 3 iops 的數值,因此選擇 20G 的方案,iops 就只有非常糟糕的 60,超過沒關係,會有暫時的 Burst I/O Credit,但只要消耗完畢就會打回原形回到 Baseline performance,而你還不能知道你到底消耗了多少 Burst I/O Credit

除了硬碟雷之外,還有其他雷,若配置的機器很多,想要對很多機器做快照,你想說進網站內對機器各種按快照,你也會發現當你一次想做快照機器太多他就不給做快照,Web 介面實際上他也只是下指令給後端進行處理,而這個指令是有限制一次多少台機器,所以做大量機器快照時還會遇到要等待其他機器完成的情況。

而若機器上錯誤的設置防火牆規則,Lightsail 上的 web console 也會連不上,也沒有救援模式可用,只能透過很麻煩的方式,先把機器拍快照,之後再用快照開機器,開機器在 Add launch scipt 中加入關閉 iptables 的指令,就可以在關閉防火牆的狀況下開機,但這實在非常的麻煩。

作者: cras4202tw

我是 cras4202tw,有多年使用 WordPress 與伺服器維運經驗,目前在鴻海科技集團富盈數據擔任工程師,負責的網站總流量每個月超過千萬次瀏覽。更多關於我...點我

臉書留言

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *