2011年12月31日

iPhone 4S 預購心得

每年的 iPhone 預購,已經成為我工作上最重要的大事(就這兩年的經驗來說,也是必定出包的大事Orz),過程中累積了一些經驗,上週更是有機會請設計/維運另一個知名訂票系統的同事來分享心得,整理如下。

  1. 系統架構愈簡單,request 經過的節點愈少,就更好調整相關參數,當發生異常時也比較容易掌握是哪裡出了問題,系統效能也會更好。
  2. 當預購開始時,瞬間湧入的超大流量不管準備多少實體設備都不夠應付(畢竟預算&機房空間有限),因此在request經過的各節點設定限流是必要的手段,包括 Firewall, Switch, AP/DB Server 之間的流量限制。但是最佳的參數為何,需要在相同的系統環境(軟硬體規格)下持續進行調整才能得到。
  3. 承上,叢集系統若為異質平台組成,或者硬體規格有明顯差異者,管理起來會很麻煩,最好能針對每一台設備去調整限流的參數,才能得到最大的 throughput。若要降低管理/調校的成本,最好能用相同的硬體規格/平台,否則就要有很強大的軟體架構(網路層/AP層),能夠自動根據每一台機器去設定相關參數,才能讓每一台設備都發揮最大的效能。
  4. IDP/IPS/Firewall等資安設備的參數調校是很大的學問,在平日沒有承載足夠流量下所做的設定,面對瞬間/持續超高流量時不一定能運作的很好,甚至可能會造成反效果,因為誤判而將正常流量給block掉,處理起來非常頭痛(可能要臨時把相關policy disable,甚至改接網路線將流量bypass這些資安設備)。
  5. 減少系統內紀錄的log對於效能會有所幫助(還可以避免因磁碟存取異常造成整個系統效能下降的問題),但要考量萬一產生客訴,需要調閱資料的時候能否取得足夠的資料,原則上log還是要能免則免,非得要紀錄的話寫到另一個獨立的 DB 效能會比寫到 file system 好。
大概就這樣啦,2012會是忙碌的一年,年中有倫敦奧運,第三季可能就會有 iPhone5 預購啦,希望可以順利度過!

沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D