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

閱讀時間約 2 分鐘
壓力測試要知道的事(一)和壓力測試要知道的事(二)我們討論了進行測試的觀念、如何評估測試的目標,最後我們還需要了解要如何進行測試。

工具的特性

在市面上有不少測試的工具可以使用,然而每一種工具都有對應的差異。我在 TGONext 的時候跟著教練探討的時候,才了解到選擇適合的工具也是非常重要的一環。
大多數時候,我們在討論壓力測試通常會先想到 ab 這個工具,然而這個工具會一次性的發送請求,有時候不一定符合現實的使用情況,同時也會受限於運行測試機器的限制(例如:Thread 上限)因此可能會得到不太精確的結果,在測試一定請求等級的瞬間壓力是有用的。
又或者像是 wrk 這個工具,在計算上並不一定符合真實使用者的操作情況。然而替換成 wrk2 之後,採取了 Coordinated Omission 會將發出請求到收到回應等各種情況考慮進去,進而更加接近真實使用者用瀏覽器操作的狀況。

雲端服務

除了工具的特性之外,當我們想要發起比較大規模的壓力測試時,會受到單台機器無法模擬真實的大流量,那可能就需要借助雲端服務或者自己搭建 Cluster(叢集)的方式來解決。
舉例來說,我們可以利用 Python 的 Locus 開源專案來進行測試,除了可以透過 Python 腳本來撰寫測試之外,還能夠透過在多台機器上運行來組合成叢集,來發出比較大量的請求。

我個人比較喜歡的是 k6 這個專案,在過去是知名的壓力測試服務 LoadImpact 後來變成 k6 這個開源專案(也提供雲端服務)因為是 Golang 所撰寫具有不錯的可攜性,又能夠用 JavaScript 撰寫腳本以及和 Grafana 這類開源工具搭配,整體上來說是個相當容易入門的工具,也比較容易在大規模測試時直接導入雲端服務。

值得探索的領域

壓力測試對比稍微有規模的系統是很重要的一環,然而目前大多都是一些大公司有各自的處理方案,相比軟體開發世界還是有很多可以探索的地方。

舉例來說,我們該如何在測試環境進行測試來模擬正式環境能夠支撐預期的流量、是否能夠透過拆分服務之類的方式來進行測試,或者在測試時該如何產生用於測試的資料都會是不錯的議題,有點類似於整合測試的進階版本,還需要考慮到壓力極大時不會將其他第三方服務拖垮等等問題。

封面圖片使用 UnsplashNorbert Kundrak 的作品,有想聽的主題可以透過匿名問卷告訴我,想了解專業的技術主題可以到弦而時習之找找靈感。
為什麼會看到廣告
54會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
在雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
在雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
你可能也想看
Thumbnail
作家 Morgan Housel 在《華爾街日報》中提出一個觀點:我們是用理解知識的方式在思考、學習金錢觀,而不是用理解心智與行為模式的方式學習理財。這段話讓我意識到,我們的財務決策並非總是理性的,情緒因素也扮演著重要角色。通過掌握金錢心理學,能夠幫助我們改善用錢習慣,使財務決策更為理性和長遠。
Thumbnail
如果有一種方法,經過科學研究證實,可以有效降低負面情緒、舒緩壓力、減輕焦慮、讓睡眠品質變好、讓人覺得內心平靜而充滿幸福感,你想瞭解看看嗎?
Thumbnail
今天總共有5檔股票在盤中最高拉到漲停板,就比例來說高達1/4,收盤仍維持漲停的家數也有3家。
Thumbnail
防曬乳不僅僅是保護皮膚的工具,更是一種應對壓力的方式。你最喜歡的防曬乳類型可能揭示了你在面對壓力時的傾向。選擇以下其中一個類型,然後看看你的選擇代表了什麼。(本篇含祈福夏威夷抽獎活動) 🔮 測驗須知 在開始測驗之前,請先了解下幾點: 僅供參考:測驗的結果僅為娛樂和參考之用,不能完全對應到每
Thumbnail
這篇文章將會探討創傷後壓力症候群(Post-Traumatic Stress Disorder,縮寫 PTSD)的自我評估測試,我們將深入了解 PTSD 的定義、背景,其重要性,以及自我評估的可能性。目標是提供讀者一個方便且實用的工具,以了解自身是否可能受到 PTSD 的影響。
Thumbnail
美國銀行壓力測試全過關,金融業能否撐過經濟衰退? 美國聯準會(Fed)最近公布了年度銀行壓力測試的報告,結果顯示,23家大型金融機構都通過了測試,這意味著它們在假設經濟嚴重衰退的情況下,仍然有足夠的資本和流動性,能夠繼續提供貸款給家庭和企業。這對於歷經3月份的金融市場動盪的美國金融業來說,無疑是一個
Thumbnail
Stress testing 一早起床發現昨天辛苦整天網站又不能跑了,去看error.log發現原來是有其他服務使用到了80port,造成根本監聽不到,再去找找看是那些服務,結果可能是apache2使用到,直接怒sudo service apache2 stop,網站就恢復正常了。 今天除了再多熟悉
Thumbnail
白天指數大跌, 賣多差承受非常大的壓力, 盤中帳上最大損失來到15.5%, 期貨跌到13850,自7/7做賣多差以來, 期貨跌537點, 13500PUT從43飆到120, 13300P從27飆到78, 早盤壓力非常大, 也藉此進行壓力測試。 昨日提到, 不排除再組買空差, 不然,就日盤的跌勢,
Thumbnail
大家好,這個週末台灣的梅雨少了一些,取代的是炎熱的溫度。 高漲的不只是溫度,還有美國CPI,是的,這個話題可預期還會是短期的發燒話題,投資人猶如驚弓之鳥,本週包含台灣,全球許多央行都會召開利率會議,最受矚目的自然是美國聯準會FED。 甫結束的一週,CPI推了一把,股市創下年初以來單週最大跌幅。
Thumbnail
作家 Morgan Housel 在《華爾街日報》中提出一個觀點:我們是用理解知識的方式在思考、學習金錢觀,而不是用理解心智與行為模式的方式學習理財。這段話讓我意識到,我們的財務決策並非總是理性的,情緒因素也扮演著重要角色。通過掌握金錢心理學,能夠幫助我們改善用錢習慣,使財務決策更為理性和長遠。
Thumbnail
如果有一種方法,經過科學研究證實,可以有效降低負面情緒、舒緩壓力、減輕焦慮、讓睡眠品質變好、讓人覺得內心平靜而充滿幸福感,你想瞭解看看嗎?
Thumbnail
今天總共有5檔股票在盤中最高拉到漲停板,就比例來說高達1/4,收盤仍維持漲停的家數也有3家。
Thumbnail
防曬乳不僅僅是保護皮膚的工具,更是一種應對壓力的方式。你最喜歡的防曬乳類型可能揭示了你在面對壓力時的傾向。選擇以下其中一個類型,然後看看你的選擇代表了什麼。(本篇含祈福夏威夷抽獎活動) 🔮 測驗須知 在開始測驗之前,請先了解下幾點: 僅供參考:測驗的結果僅為娛樂和參考之用,不能完全對應到每
Thumbnail
這篇文章將會探討創傷後壓力症候群(Post-Traumatic Stress Disorder,縮寫 PTSD)的自我評估測試,我們將深入了解 PTSD 的定義、背景,其重要性,以及自我評估的可能性。目標是提供讀者一個方便且實用的工具,以了解自身是否可能受到 PTSD 的影響。
Thumbnail
美國銀行壓力測試全過關,金融業能否撐過經濟衰退? 美國聯準會(Fed)最近公布了年度銀行壓力測試的報告,結果顯示,23家大型金融機構都通過了測試,這意味著它們在假設經濟嚴重衰退的情況下,仍然有足夠的資本和流動性,能夠繼續提供貸款給家庭和企業。這對於歷經3月份的金融市場動盪的美國金融業來說,無疑是一個
Thumbnail
Stress testing 一早起床發現昨天辛苦整天網站又不能跑了,去看error.log發現原來是有其他服務使用到了80port,造成根本監聽不到,再去找找看是那些服務,結果可能是apache2使用到,直接怒sudo service apache2 stop,網站就恢復正常了。 今天除了再多熟悉
Thumbnail
白天指數大跌, 賣多差承受非常大的壓力, 盤中帳上最大損失來到15.5%, 期貨跌到13850,自7/7做賣多差以來, 期貨跌537點, 13500PUT從43飆到120, 13300P從27飆到78, 早盤壓力非常大, 也藉此進行壓力測試。 昨日提到, 不排除再組買空差, 不然,就日盤的跌勢,
Thumbnail
大家好,這個週末台灣的梅雨少了一些,取代的是炎熱的溫度。 高漲的不只是溫度,還有美國CPI,是的,這個話題可預期還會是短期的發燒話題,投資人猶如驚弓之鳥,本週包含台灣,全球許多央行都會召開利率會議,最受矚目的自然是美國聯準會FED。 甫結束的一週,CPI推了一把,股市創下年初以來單週最大跌幅。