2015年2月4日 星期三

[python] Bottle Framework

因有人向我提起

說我們為什麼沒用template

回答後才發現既然我們不需要MVC架構

那為何不選擇更light weight的平台?

所以比較了幾個framework, 最後我選擇了Bottle
為什麼選Bottle有幾個簡單原因:

1. 在各平台比較下,效能最佳。
    (2014年 multi-requests輸給django, 但我的測試則是贏)

2. 單一執行檔,開啟服務只需要寫一個檔案。

3. 不需要 template 及其他多數支援套件

網路上大家都在增論Flask和Bottle哪個好哪個支援多
看來看去最後還是決定選擇效能好,上手快的Bottle
是說...怕支援不夠好?
但目前我用起來該有的都有
還沒遇到瓶頸 XDD
雖然說是個"瓶子"一定會有頸子...

測試心得:

開發速度異常的快!

以前我在設定django通常都要查文件
如果不是很熟第一次用還是要用個一整天
而在Bottle無論靜態文件
還是怎樣動態連結的東西隨便兜一兜幾小時內就全都混熟了

效能測試方面,

讓django在某特定環境上同秒處理效能為1
而bottle雖說效能僅僅高出約1/4,
但是後面陸續攻擊封包都全部吃下
並且逐一回復,錯誤率之低讓我非常訝異
目前僅測試到5k封無間斷發送request
回復率達 99.99%
先前用django封包超過500筆就開使狂掉
大約在1k之後所發的request在也無法到達

另外我搭配paste處理multi-request效能測試下 (非正式用法)
更是讓效能變成兩倍

若要作為網頁服務
可以考慮架設在uwsgi和nginx
效能應該差不多
如果沒有靜態網頁
應該可以考慮不要掛nginx

沒有留言:

張貼留言