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

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

商業考量

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

舉例來說,我們希望我們的系統在改版後可以提供 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
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
在雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
在雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
對於沒有行銷背景的小品牌和沒有實權的大企業行銷部專員,本文提供了和客戶談預算的對話範例,幫助自由工作者更好地瞭解如何處理不同情境下的預算談判。
Thumbnail
什麼是壓力: 一直上不去的地方 什麼是支撐: 一直下不去的地方 以上,講完了! 好啦,講細一點式這樣 支撐壓力的有效性,大格局的時間圖>小格局的時間圖 日K>小時K>15分K>5分K>1分K 所以找壓力支撐請先從大格局開始找 因為我們是做當沖,所以看到日K就已經很夠了 而通常我會先以
Thumbnail
這篇文章分享了作者在參與預估專案時的思考脈絡和學習點,透過兩個具體的案例,探討了預估方法中重要的假設和挑戰。
Thumbnail
那天有人PTT上面問到關於電子商務的問題,讓我非常疑惑,因為他問到:主要希望能提高網站的訂單轉換率(訂單/不重複人數)、以及有什麼creative initiatives可以提高訂單轉換率,以及提高客單價、不重覆拜訪人數等。
Thumbnail
「條件」非常現實,雖然還有伸縮的空間,但幅度基本上不大。 所以,如果,真的,沒辦法,一定要,用到條件的話,對於這件事就要有進一步的認知。 》條件要用條件來補齊 比如說「年薪百萬」,如果達不到這個條件,就可以用房產或名車這類物質條件來彌補,當然最相近的就是存款跟投資金額。
Thumbnail
在職場中,理想狀態與實際資源常常存在一定差距,如何在技術追求與商業考量之間平衡? 透過專案管理手法中的三個變項,在滿足客戶需求和保持技術創新之間找到一個平衡點。
Thumbnail
討論系統架構時,我們常忽略低流量時期的準備,但真正的挑戰在於怎樣在突發高流量時保持穩定。我們深入探討了如何透過水平擴展、負載均衡、快取策略等多維度規劃,來強化系統對高流量的承受力,確保系統的靈活擴展與高可用性。
Thumbnail
我們多少都有聽過主管或是老闆、業主提出聽起來不合理的要求,會覺得不合理,通常都是你比較懂得這件事的難度在哪,而如果直接拒絕要求,對方其實也不懂為什麼做不到。 因此拒絕同時,給出完成要求需要的資源、時間以及步驟,且都要有明確的數字,對方才能評估難度是否投入。 當我們認為某項要求過於艱難時,其實
定義所在做的市場規模其實蠻困難的,由上而下計算出來的數字往往會有點太虛,較為務實的作法可能還是由下而上的計算,先將最為精準的客戶族群計算完之後,在逐漸擴大範疇,應是較好的作法。
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
對於沒有行銷背景的小品牌和沒有實權的大企業行銷部專員,本文提供了和客戶談預算的對話範例,幫助自由工作者更好地瞭解如何處理不同情境下的預算談判。
Thumbnail
什麼是壓力: 一直上不去的地方 什麼是支撐: 一直下不去的地方 以上,講完了! 好啦,講細一點式這樣 支撐壓力的有效性,大格局的時間圖>小格局的時間圖 日K>小時K>15分K>5分K>1分K 所以找壓力支撐請先從大格局開始找 因為我們是做當沖,所以看到日K就已經很夠了 而通常我會先以
Thumbnail
這篇文章分享了作者在參與預估專案時的思考脈絡和學習點,透過兩個具體的案例,探討了預估方法中重要的假設和挑戰。
Thumbnail
那天有人PTT上面問到關於電子商務的問題,讓我非常疑惑,因為他問到:主要希望能提高網站的訂單轉換率(訂單/不重複人數)、以及有什麼creative initiatives可以提高訂單轉換率,以及提高客單價、不重覆拜訪人數等。
Thumbnail
「條件」非常現實,雖然還有伸縮的空間,但幅度基本上不大。 所以,如果,真的,沒辦法,一定要,用到條件的話,對於這件事就要有進一步的認知。 》條件要用條件來補齊 比如說「年薪百萬」,如果達不到這個條件,就可以用房產或名車這類物質條件來彌補,當然最相近的就是存款跟投資金額。
Thumbnail
在職場中,理想狀態與實際資源常常存在一定差距,如何在技術追求與商業考量之間平衡? 透過專案管理手法中的三個變項,在滿足客戶需求和保持技術創新之間找到一個平衡點。
Thumbnail
討論系統架構時,我們常忽略低流量時期的準備,但真正的挑戰在於怎樣在突發高流量時保持穩定。我們深入探討了如何透過水平擴展、負載均衡、快取策略等多維度規劃,來強化系統對高流量的承受力,確保系統的靈活擴展與高可用性。
Thumbnail
我們多少都有聽過主管或是老闆、業主提出聽起來不合理的要求,會覺得不合理,通常都是你比較懂得這件事的難度在哪,而如果直接拒絕要求,對方其實也不懂為什麼做不到。 因此拒絕同時,給出完成要求需要的資源、時間以及步驟,且都要有明確的數字,對方才能評估難度是否投入。 當我們認為某項要求過於艱難時,其實
定義所在做的市場規模其實蠻困難的,由上而下計算出來的數字往往會有點太虛,較為務實的作法可能還是由下而上的計算,先將最為精準的客戶族群計算完之後,在逐漸擴大範疇,應是較好的作法。