壓力測試要知道的事(二)

更新於 發佈於 閱讀時間約 3 分鐘

我們在壓力測試要知道的事(ㄧ)提到關於物理限制的問題,在大多數時候我們的假設很可能是少考慮到了物理上的限制,然而除了物理限制外還有許多需要注意的地方。

商業考量

在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。

舉例來說,我們希望我們的系統在改版後可以提供 1 萬名會員使用,那麼我們後續用來評估的方式,就會以這個為基礎進行估算。也因此,在開始進行壓力測試之前,我們需要先設定一個「目標」這個目標可能是每秒要能處理幾筆訂單,或者每個月要能穩定提供多少使用者使用等等。

估算方式

既然有了目標,我們就可以根據預測的使用情況、過往的資料等等來進行一個簡單的估算,用來幫助我們了解壓力測試要能夠達到怎樣的水準,一般來說會以每秒能處理幾個請求(RPS)作為基準

想要抓出合理的壓力測試數值,我們除了要注意物理上的限制之外,也可以用比例的方式評估。假設我們認為大部分的使用者會集中在一天內的 20% 時間使用網站,同時每個月會有 1 萬個使用者,那麼每秒需要處理的單位可能會是 10,000÷(0.2×30×86400 ) 左右。

然而使用者也不可能是每天都使用網站,因此再繼續加入每天會有約 10% 的使用者會使用,那麼就可以繼續修正這個計算式為 (10,000×0.1)÷(0.2×30×86400 )

接下來我們要再繼續估算每個使用者的每天平均操作,假設從篩選商品到完成購物,大約是會有 6 個步驟,那麼每秒能處理 (10,000×0.1×6)÷(0.2×30×86400 )~= 0.01 個操作即可。

以上面的案例每個月要提供 1 萬名使用者(MAU,Monthly Active User)使用,每秒其實只需要達到能處理 1 個請求即可,是不是比想像中的還少?

正確的衡量

當初我了解到這樣的估算技巧後也是很驚訝的,因為我們很多時候可能都在高估我們的系統,也就是沒有正確的衡量我們應該分配的資源。

以我個人的經驗,大多數 5 美金一個月的虛擬主機,基本上就足以一個小專案成長到盈利,在現實中我們可能會因為新技術、錯誤的評估使用了複雜的部署方式(Ex. Kubernetes)同時,我們還需要高規格的主機也可能源自於我們在軟體的設計上有許多不良的處理,造成卡頓、負載能力低下。

也因此,我們要了解自己的系統哪裡還能夠改進。就需要有足夠的軟體工程師素養,以這些知識為基礎搭配正確的估算系統的狀況,就可以知道需要改進的是硬體還是軟體會有更好的效益。


封面圖片使用 UnsplashNorbert Kundrak 的作品,有想聽的主題可以透過匿名問卷告訴我,想了解專業的技術主題可以到弦而時習之找找靈感。

留言
avatar-img
留言分享你的想法!
avatar-img
蒼時弦也的沙龍
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
蒼時弦也的沙龍的其他內容
2022/04/11
大多數時候,我們在討論壓力測試通常會先想到 ab 這個工具,然而這個工具會一次性的發送請求,有時候不一定符合現實的使用情況,同時也會受限於運行測試機器的限制(例如:Thread 上限)因此可能會得到不太精確的結果,在測試一定請求等級的瞬間壓力是有用的。
Thumbnail
2022/04/11
大多數時候,我們在討論壓力測試通常會先想到 ab 這個工具,然而這個工具會一次性的發送請求,有時候不一定符合現實的使用情況,同時也會受限於運行測試機器的限制(例如:Thread 上限)因此可能會得到不太精確的結果,在測試一定請求等級的瞬間壓力是有用的。
Thumbnail
2022/03/28
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
Thumbnail
2022/03/28
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
Thumbnail
2022/03/07
在雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?
Thumbnail
2022/03/07
在雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?
Thumbnail
看更多
你可能也想看
Thumbnail
在職場中,理想狀態與實際資源常常存在一定差距,如何在技術追求與商業考量之間平衡? 透過專案管理手法中的三個變項,在滿足客戶需求和保持技術創新之間找到一個平衡點。
Thumbnail
在職場中,理想狀態與實際資源常常存在一定差距,如何在技術追求與商業考量之間平衡? 透過專案管理手法中的三個變項,在滿足客戶需求和保持技術創新之間找到一個平衡點。
Thumbnail
在現代的工作環境中,我們經常被工作量迷惑,覺得自己需要花費大量的時間和精力來完成所有任務。然而,這種做法往往會讓我們感到心力憔悴,並且導致工作效率低下。實際上,很多時候我們只需要用 20% 的努力就能夠解決 80% 的問題。
Thumbnail
在現代的工作環境中,我們經常被工作量迷惑,覺得自己需要花費大量的時間和精力來完成所有任務。然而,這種做法往往會讓我們感到心力憔悴,並且導致工作效率低下。實際上,很多時候我們只需要用 20% 的努力就能夠解決 80% 的問題。
Thumbnail
每年採購的市場價格都在上漲,偏偏你能神操作讓成本降低。大概就只有兩條路可以走,一個是透過延長消耗性零件的工作時間,達到減少固定維修頻率的效果;另一種就是採購便宜的次級品。 當你的公司以低於市場行情的價格採購材料或勞務,大概會在推行節省成本政策 3 年之後開始出現問題......
Thumbnail
每年採購的市場價格都在上漲,偏偏你能神操作讓成本降低。大概就只有兩條路可以走,一個是透過延長消耗性零件的工作時間,達到減少固定維修頻率的效果;另一種就是採購便宜的次級品。 當你的公司以低於市場行情的價格採購材料或勞務,大概會在推行節省成本政策 3 年之後開始出現問題......
Thumbnail
「幫我做的跟 Facebook 一樣單純就好」 「嗯 … ?」 不管怎麼估計都可能失準,在一件事做完之前你怎麼知道能不能做到?
Thumbnail
「幫我做的跟 Facebook 一樣單純就好」 「嗯 … ?」 不管怎麼估計都可能失準,在一件事做完之前你怎麼知道能不能做到?
Thumbnail
整理:K社長 公式思維丨 厲害的人是如何思考問題的是我長期關注的一個話題,生活中我會有意觀察不同人對同一件事情的思考習慣,時間久了會發現高手的思考習慣背後總有一些共性的東西,不是這次這麼想,是每次每件事都會這樣想。 今天分享一些個人長期受用的思考習慣:公式思維。
Thumbnail
整理:K社長 公式思維丨 厲害的人是如何思考問題的是我長期關注的一個話題,生活中我會有意觀察不同人對同一件事情的思考習慣,時間久了會發現高手的思考習慣背後總有一些共性的東西,不是這次這麼想,是每次每件事都會這樣想。 今天分享一些個人長期受用的思考習慣:公式思維。
Thumbnail
很多時候我們都用人數乘上天數去定義一個專案的規模,然後認為多加幾個人力,天數就能縮短,但要小心跌入專案管理的盲區,反而增加不必要的成本
Thumbnail
很多時候我們都用人數乘上天數去定義一個專案的規模,然後認為多加幾個人力,天數就能縮短,但要小心跌入專案管理的盲區,反而增加不必要的成本
Thumbnail
在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。
Thumbnail
在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。
Thumbnail
數位工具在客服中心的運營使用,向來扮演的是數據追蹤、產出預估模型等輔助角色,再在均指向從需求出發的這項初衷。
Thumbnail
數位工具在客服中心的運營使用,向來扮演的是數據追蹤、產出預估模型等輔助角色,再在均指向從需求出發的這項初衷。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News