現在 GAE 有新的收費模式,不是以前只計 CPU Hour 的方式,是一個小時一個小時地計算。向 Datasource 存取資料又另外收費,新的收費模式:
新的收費模式很像 Amazon Web Service,我最不能接受的是 GAE 也跟 AWS EC2 以小時計算費用,EC2 收費如下:
EC2 一個小型 (Small) Virtual Machine 一小時才 $0.085 USD,GAE 一小時也要 $0.080 USD,但 GAE 的 Virtual Machine 全自動起動的,即是說你不能控制機器數目,雖然你可以設定 Max Idle Instances 數目,但系統在需要時也一樣會新增比你設定的最大數目還多的機器 (我試過好幾次)。如果你起動了 2 台機器,就是 $0.080 USD * 2,一小時收費 $ 0.16 USD。EC2 是可以一台機器放置多個 應用程式,而 GAE 只可以一台機器放置一個應用程式,還是 EC2 比較化算。
最後如果你仍然選擇留守 GAE,這裡有幾個方法可幫助你省錢:
1. 在 appengine-web.xml 加上:
<threadsafe>true</threadsafe>
可以令你的機器同時處理多個請求 (Request)
2. 設定 Max Idle Instances 令 GAE 盡量不起動超過這個數量的機器
3. 設定 Min Pending Latency 在機器處理一個請求超過這一個時間才新增機器 (其實我覺得這個設定很雞肋,每一個請求時間也不一樣,又不可以設定太高,亦不能設定太低)
4. 盡量用多一點 Cache ,減少存取 Datasource