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

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

工具的特性

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

雲端服務

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

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

值得探索的領域

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

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

封面圖片使用 UnsplashNorbert Kundrak 的作品,有想聽的主題可以透過匿名問卷告訴我,想了解專業的技術主題可以到弦而時習之找找靈感。
為什麼會看到廣告
avatar-img
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
在雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
在雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章探討如何回答應對壓力的面試問題。這個問題旨在了解應試者的抗壓能力及處理困難的方式。面試官想知道為何某事有壓力及如何處理這些壓力,包括時間管理及判斷壓力來源。文章建議回答時應強調輕重緩急的安排、控制可控因素及時間管理。此外,強調團隊協作的重要性,適時請求幫助以減輕壓力。
這一節要來看看,有許多個力同時作用時,該怎麼處理。
1.資金水位測試:資金比重是不是太高?有沒有做風險控管? 2.持股強弱測試:個股是回檔還是回跌?跌的有沒有比指數重? 3.心理素質測試:情緒有沒有失控?停損底線是甚麼? 4.交易週期測試:真的長線投資者嗎?長線投資策略有沒有瑕疵?如果指數再跌更重,因應策略是甚麼?
Thumbnail
什麼是壓力: 一直上不去的地方 什麼是支撐: 一直下不去的地方 以上,講完了! 好啦,講細一點式這樣 支撐壓力的有效性,大格局的時間圖>小格局的時間圖 日K>小時K>15分K>5分K>1分K 所以找壓力支撐請先從大格局開始找 因為我們是做當沖,所以看到日K就已經很夠了 而通常我會先以
Thumbnail
A/B 測試是一種用來測試不同版本效果的實驗方法,可以用於網站優化、電子郵件行銷和社群媒體行銷中。瞭解 A/B 測試的五個大小技巧,包括明確的測試目標、控制變因、足夠的樣本數、一次只測試一個變因以及追蹤長期表現。在進行網頁優化時,可以將 A/B 測試應用於不同標題、文案、等元素,找出有效的改進方向。
Thumbnail
這篇文章介紹壓力與支撐是怎麼來的? 並如何利用壓力與支撐位來判斷股票的買賣時機,從而提高交易的成功率和收益。此外,也分享了選股的一些規則和觀念,以及交易中的經驗與建議。
我不知道跟我有沒有關係,我剛出社會的時候剛好到一家還算蠻大的網站公司,那個時後公司很多技術很不成熟,所以他們問我我都是怎麽測試網站,總之呢!狗眼看人低,他們以為我只是點開每一個連結檢查網頁,所以他們覺得自己很厲害就開始寫一些只會點開網站的程式,事實上網站測試是一頁一頁全憑經驗預知道客戶是怎樣使用一頁
Thumbnail
這篇文章分享了作者在準備初階外匯電腦應試時所使用的工具、準備方式和考試小觀察。內容包括了曾使用到的工具及其利弊、準備方式和考試小觀察等方面的心得。作者分享了使用的書籍和考古題情況,以及對於教材的評價和使用心得。同時也提供了自己的準備方法和考試時的小觀察,給出了一些在準備和應試過程中的個人建議。
Thumbnail
在企業IT環境,系統和數據的備份的重要性相信是不用解說,亦不用懷疑的。 但很時時候,企業忽略的並不是備份,而是Drill test的重要性。
Thumbnail
※ 效能 What tools would you use to monitor or analyze your performance ? 中文意思:在監控或分析系統性能方面可能會使用哪些工具? ※ 解答: 常見的監控和分析工具,可分成以下6大類: 系統監控工具: 例如,Promethe
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章探討如何回答應對壓力的面試問題。這個問題旨在了解應試者的抗壓能力及處理困難的方式。面試官想知道為何某事有壓力及如何處理這些壓力,包括時間管理及判斷壓力來源。文章建議回答時應強調輕重緩急的安排、控制可控因素及時間管理。此外,強調團隊協作的重要性,適時請求幫助以減輕壓力。
這一節要來看看,有許多個力同時作用時,該怎麼處理。
1.資金水位測試:資金比重是不是太高?有沒有做風險控管? 2.持股強弱測試:個股是回檔還是回跌?跌的有沒有比指數重? 3.心理素質測試:情緒有沒有失控?停損底線是甚麼? 4.交易週期測試:真的長線投資者嗎?長線投資策略有沒有瑕疵?如果指數再跌更重,因應策略是甚麼?
Thumbnail
什麼是壓力: 一直上不去的地方 什麼是支撐: 一直下不去的地方 以上,講完了! 好啦,講細一點式這樣 支撐壓力的有效性,大格局的時間圖>小格局的時間圖 日K>小時K>15分K>5分K>1分K 所以找壓力支撐請先從大格局開始找 因為我們是做當沖,所以看到日K就已經很夠了 而通常我會先以
Thumbnail
A/B 測試是一種用來測試不同版本效果的實驗方法,可以用於網站優化、電子郵件行銷和社群媒體行銷中。瞭解 A/B 測試的五個大小技巧,包括明確的測試目標、控制變因、足夠的樣本數、一次只測試一個變因以及追蹤長期表現。在進行網頁優化時,可以將 A/B 測試應用於不同標題、文案、等元素,找出有效的改進方向。
Thumbnail
這篇文章介紹壓力與支撐是怎麼來的? 並如何利用壓力與支撐位來判斷股票的買賣時機,從而提高交易的成功率和收益。此外,也分享了選股的一些規則和觀念,以及交易中的經驗與建議。
我不知道跟我有沒有關係,我剛出社會的時候剛好到一家還算蠻大的網站公司,那個時後公司很多技術很不成熟,所以他們問我我都是怎麽測試網站,總之呢!狗眼看人低,他們以為我只是點開每一個連結檢查網頁,所以他們覺得自己很厲害就開始寫一些只會點開網站的程式,事實上網站測試是一頁一頁全憑經驗預知道客戶是怎樣使用一頁
Thumbnail
這篇文章分享了作者在準備初階外匯電腦應試時所使用的工具、準備方式和考試小觀察。內容包括了曾使用到的工具及其利弊、準備方式和考試小觀察等方面的心得。作者分享了使用的書籍和考古題情況,以及對於教材的評價和使用心得。同時也提供了自己的準備方法和考試時的小觀察,給出了一些在準備和應試過程中的個人建議。
Thumbnail
在企業IT環境,系統和數據的備份的重要性相信是不用解說,亦不用懷疑的。 但很時時候,企業忽略的並不是備份,而是Drill test的重要性。
Thumbnail
※ 效能 What tools would you use to monitor or analyze your performance ? 中文意思:在監控或分析系統性能方面可能會使用哪些工具? ※ 解答: 常見的監控和分析工具,可分成以下6大類: 系統監控工具: 例如,Promethe