快不快這件事情, 在開發任何系統都是件重要的事情. 那多快才算快呢? 這次我找到的這篇文章, 作者提出了一些看法.
 
Part 3: How Fast is Fast Enough?
Posted by Scott Barber
 
「fast」的圖片搜尋結果
 
 
基本上, 他也是覺得沒有標準答案. 為什麼呢? 你要先知道誰用這個系統, 他們在意什麼, 他們在什麼環境使用, 他們用什麼機器來使用 等等. 不同的狀況, 答案便不同. 
 
當你在搭高鐵上, 使用手機看電影, 這時候畫面會斷斷續續是很正常的. 如果你在銀行中, 用著 5 年以上的 PC 再處理大量信用卡資料, 沒有當掉就會是正常. 當你雙 11 在淘寶上搶貨, 如果不快買不到東西, 你就會大大翻臉. 情境不同, 期待就會不同.
 
 
因此, 作者認為要從以下三個面向來考量
 
(1) 使用者的心理(User psychology)
這是最容易被忽略的因素, 有時候系統已經很慢了, 但是使用者預期系統應該會很慢, 所以相對就不會苛求它, 導致我們忽略了其實系統在這狀況下其實是很慢的
 
例如: 在看 summary 的資料, 或是在建立 report 時, 系統可能會提醒使用者這會需要花數分鐘到數小時, 因此使用者自然會去做其他事情, 或是自然覺得曼是很合理的. 很容易不去深究這樣長的時間可能是不合理的
 
(2) 硬體考量
這是最容易想到的因素. 若是要跑的快一點, 自然會要有好的硬體配備, 否則是跑不動的. 因此會注意以下事情:
    # CPU 和硬碟效能
    # 網路頻寬和網路卡
    # 顯示卡
    # 軟體架構設計
 
(3) 使用場景
和 User psychology 很類似, 但不一樣的地方是, 這裡是要考慮系統如何被使用. 不同用法的場景, 速度要求不同. 所以知道系統會被怎麼使用, 才能知道使用者對速度容忍的程度為何. 例如更新病毒碼, 在絕大多數環境都很快, 但是在早期國內銀行網路頻寬都很少的狀況下, 同時間太多機器一起更新, 便會造成整個網路環境的癱瘓.
 
 
所以, 你要訂定多快的標準時, 需要考量以下項目:
 
(1). 使用者的期待 
使用者只關心 end-to-end response time, 她們並不在乎同時間有多少使用者在使用. 
 
另外, 若是你問使用者系統有多快, 或是要多快, 通常他們是無法回答精準的答案, 最多只會跟你說他感覺到 快, 差不多, 或是 慢.
 
作者自己也研究過許多調查報告, 發現這些調查並不完全可靠. 所以他只能告訴你說, 根據他的經驗大概是以下狀況, 但是千萬不要把它當標準
  # 快: 小於 3 seconds
  # 差不多: 3 to 5 seconds
  # 慢: 5 to 8 seconds
  # 快崩潰: 8 to 15 seconds
  # 不能接受: 超過 15 seconds
  (我想以現在的年代, 這樣應該不算快 XD)
 
如果是電商的系統, 可能需要比上述快 20%, 如果是統計型或政府的系統, 比上述慢 25% 都還可以接受.
 
(2). 資源限制
可使用時間, 記憶體, 人員多寡, 網路頻寬, 硬體配備 等等這些都有關連. 知道這些限制, 才能知道怎樣設計最務實.
 
(3). 利害關係人的期待
這最容易得到, 老闆說了算. 有時候老闆會說依照業界標準, 可是通常沒有業界標準. 若是沒有, 老闆通常會叫你儘可能的快. 但如果你跟他們說, 這會花很多時間和精力. 他們就會改口說, 花最少的代價做到最快. XDD
 
 
一但你收集到上述的資訊後, 接下來要做的就是產生出一份有意義, 量化, 且可測試的驗收標準. 我知道這不是很容易的事, 所以它會是一個 iterative 的過程. 不斷給相關人一些我們所知道的訊息, 讓他們盡快給我們反饋, 好讓我們能持續改進.
 
 
作者認為有關效能測試的驗收標準, 需要考量以下面向
 
A. 速度的面向
這裡的重點在於反應時間. 作者對可能的需求做分類, 最後再對這些分類訂出想要的驗收目標
  # 正常網頁 – 差不多 到 快
  # 產生報表 – 小於一分鐘
  # 查詢 – 小於 30 seconds
  # 晚上備份的批次作業 – 小於一小時
  (有些項目我個人覺得還是要看場景 XD )
 
B. 延展性的面向
不但要知道多快, 還要知道可以處理多少. 通常是在業務有成長時, 看看受測系統是否可以負擔. 
 
C. 穩定性的面向
當某些狀況發生時, 受測系統是否還是很穩定. 例如: 像是 CPU 很忙碌, 硬碟空間所剩不多, 記憶體在做swap 等等之類, 看看受測系統會如何反應
 
看到這裡, 很想說可以不要測嗎? 還真的很多東西要考慮....
創作者介紹
創作者 kojenchieh 的頭像
kojenchieh

David Ko的學習之旅

kojenchieh 發表在 痞客邦 留言(0) 人氣()