精華區beta toberich 關於我們 聯絡資訊
為了平衡報導,我也來說一下Google App Engine的缺點。XD 對我來說,GAE有幾項致命的缺點,之前網友的討論裡似乎沒講到。 先說一下GAE用的非關聯性資料庫,以下圖片是盜用Ericsk上官林傑在COSCUP的簡報: http://farm3.static.flickr.com/2630/4177320925_9af5b354df_o.jpg
一張圖片就可以清楚明白關聯跟非關聯資料庫的差別。 過去用關聯性資料庫久了,我一遇到GAE的非關聯資料庫時,一開始竟然搞不懂! 後來發現Google一開始用非關聯資料庫是有道理的,也拉開跟對手的競爭差距。 犧牲了資料庫的體積(反正硬碟很便宜嘛),換來存取速度跟擴展規格的方便性。 所以對我來說,非關聯資料庫反而是優點,用順手之後非常方便。 Ericsk上官林傑演講影片在: http://www.youtube.com/watch?v=tUZKta19TnY
再來盜用一張: http://www.flickr.com/photos/kevin814/3587610731/sizes/o/ CPU Time使用時間超過,除了改善程式碼之外,花點小錢就可以解決,也不是大問題。 http://farm5.static.flickr.com/4011/4177338277_7b4c7eea49_o.jpg
以上圖片是我GAE設定付費的畫面,每項都可以自訂預算。 沒超過就不用付錢,用多少付多少,很合理。 (我雖然啟動付費機制,但是還沒付到錢,顯然網站不夠熱門XD) 可以看到CPU使用時間是以美金1角為單位,花個1.6元美金預算就有很多可以用。 那真正致命的缺點是什麼? 變數不能超過1MB! 一般變數傳遞很少會超過1MB,但是過去當我在果子咖啡萬樓噗聚活動時, 想用GAE擷取那個在噗浪的萬則留言,再用jQuery計算幾層樓,回應至Blogger網站時, 前幾小時都正常,但過沒多久就擷取的頁面就超過1MB爆掉了。 只好另找其他空間擺我的Python程式碼。 這個花錢也無法解除限制。 除了CPU Time限制,我發現其實還是有個CPU(API)使用率限制,如下圖: http://farm3.static.flickr.com/2661/4177360627_ec511f4d6d_o.jpg
這是我幫BillyPan統計縣市長選舉搜尋筆數,總共54個候選人,16種搜尋條件, 所以一下子就要去作864次查詢、擷取關鍵字、存入資料庫。 雖然我已經拆成11個cron分別去跑,但是可以看到一小時內跑第二輪就會爆掉。 在CPU Time還很少時,這個CPU(API)已經紛紛爆掉了。 這個也是用錢買不到的。 要等一小時過後才會恢復正常。 所以GAE的限制也不少啊,不過這跟租用其它虛擬主機同樣會有CPU使用率的問題, 但是GAE有詳細的數據給你看,讓你有機會調整。 很多虛擬主機業者並沒提供這種詳細數據,爆掉就網站停掉,EMAIL要你快交錢。 即使如此,Google還是很積極改善GAE,版本更新非常快速。 例如之前抓網頁不能設Referer,這樣像無名正妹相簿就沒辦法抓, 後來新版本就提供Referer了! 之前也沒提供主機收信功能,都是突然冒出一個新版本,突然提供新功能。 跟Google其它熱門產品很相像。 所以我相信GAE的功能或是可以使用的工具會愈來愈齊全, 讓網站開發者可以專注創意的發想,用最快的方式達成目的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.173.119
achii:基本功不扎實 不會tuning 所以只能多花錢解決問題 科科 12/12 12:08
twck:achii大大說的是,我基本功實在太爛了!要多K點書才行。 12/12 12:13
HatasonJa:其實google就是要人人都會寫網路濫程式然後產生一堆 12/13 06:42
HatasonJa:網路垃圾...資訊垃圾越多越好... 12/13 06:43
eromoot:其實是可以做關聯的,如果仔細看 db.Model 是有告訴你怎 12/14 18:02
eromoot:樣做關聯! 12/14 18:03