主頁 >  其他 > 分享一次性能測驗程序,5個步驟直接起飛!

分享一次性能測驗程序,5個步驟直接起飛!

2023-06-29 08:21:47 其他

在企業中完成性能測驗專案是一個挑戰性強、技術含量高的任務,本文將分享一個公司完成高性能游戲系統的性能測驗程序,展示如何完成一次成功的性能測驗專案

專案背景:這是一家游戲公司,推出了一款新的游戲軟體,系統要求高性能、高并發、高可用,為確保用戶體驗和游戲體驗,公司決定在正式上線前對系統進行性能測驗.

第一步:

定義測驗目標

在專案啟動之初,團隊首先進入到定義測驗目標的階段,據此來確定測驗范圍、測驗手段和測驗工具,此階段重要性不言而喻,目標不明,則結果無從說起,

?通過團隊討論,確立了以下的目標:

  • 針對目標場景下的指標進行基準測驗,并得到高可用性的性能資料,
  • 評測流量下的例外場景,確定系統多少負載能力及擴展架構,
  • 通過性能測驗結果來查找和定位系統的瓶頸,并通過在代碼層面進行優化提升系統吞吐量及性能表現,
  • 揭示用戶最有可能使用系統的行徑模式及環境和業務決策,

第二步:

測驗計劃調研

按照測驗目標,測驗團隊進行測驗計劃調研,我們將基于應用程式不斷壓測及觀察應用程式的運行狀況來判定應用程式的瓶頸,并且對觀察結果進行分析和總結,為分析改善提供有力資料支撐,

針對要測的業務模式,我們設計出了4個具有典型意義的場景:

  • 500-10000個并發用戶請求,
  • 負載測驗,根據實際場景資料模擬用戶操作習慣,
  • 容量測驗,以應用程式在各個方面的性能和資源限制,并確定系統配置的最大極限,
  • 24小時穩定性測驗,保證系統在持續24小時真實環境下的高可用性,

 

第三步:

執行測驗計劃

通過測驗計劃調研,我們進行了測驗專案將近1個月的時間安排到執行,我們使用了多種工具,應用于不同測驗領域,例如LoadRunner、JMeter、Appdynamics、Keynote、Fiddler、Wireshark、Flume等等,在這里不展開程式設計中復雜的使用,

下面是使用JMeter測驗的例子,它是一款開源的壓力測驗工具,它可以對不同種類的服務器、網路協議進行測驗,

下面是相關的測驗結果:

基準測驗:

將系統在低負載環境下按照預定的標準進行性能測驗,例如單用戶回應時間,服務器負載以及資料庫處理能力都是很好的評估指標,測驗結果如下所示:

測驗指標 結果
每秒事務處理能力 7500
平均回應時間 0.3秒
CPU使用率 70%
記憶體使用率 60%

 

負載測驗:

使用模擬混合負載的測驗,在同一時刻模擬大量高并發用戶同時訪問系統,測驗結果如下所示:

測驗指標 結果
每秒事務處理能力 13800
平均回應時間 2秒
最大回應時間 5秒
CPU使用率 85%
記憶體使用率 80%

 

容量測驗:

容量測驗中使用jMeter模擬出可實作的并發用戶訪問系統,測驗結果如下所示:

測驗指標 結果
每秒事務處理能力 28000
平均回應時間 7秒
最大回應時間 15秒
CPU使用率 99%
記憶體使用率 95%

 

穩定性測驗:

保證系統在持續24小時真實環境下的高可用性,測驗結果如下所示:

測驗指標 結果
24小時無故障時間
CPU使用率 85%
記憶體使用率 92%

 

第四步:

測驗結果及例外分析

通過以上測驗,團隊分析性能資料,據此針對性進行優化, 例如通過清理CPU 日志資料庫存盤調優等方式進行優化,以提高系統穩定性,優化結果如下所示:

測驗指標 優化前 優化后
每秒事務處理能力 28000 45000
平均回應時間 6秒 0.2秒
最大回應時間 13秒 1秒
CPU使用率 99% 70%
記憶體使用率 97% 80%

根據性能測驗結果,我們發現系統在負載和容量測驗場景下呈現出問題

負載測驗:

我們注意到在高負荷下,回應時間開始大幅上升并且回應時間的標準差開始下降,這表明系統正在達到其極限,并可能無法容忍更多的用戶,

容量測驗:

當我們在大負載下執行測驗時,發現系統性能發生了很大的下降,我們發現jMeter本身不能支持如此大量的并發用戶訪問,我們使用了不同的工具來驗證測驗結果,我們發現系統極限在28000并發訪問量左右,該結果使我們意識到系統還需要在某些方面進一步優化,

第五步:

得出結論——性能測驗報告

通過各種性能測驗方式,團隊得出了一個詳細的測驗報告,該報告概括了測驗結果及其優化方案,并包括了性能測驗的詳細資料、結論和建議,以便游戲開發團隊根據測驗結果決定是否更改系統架構、代碼或引數,最終,該游戲系統在經過不斷測驗和改進后成功上線,并獲得了良好的用戶體驗,

總結:

該高性能游戲系統性能測驗案例中,測驗團隊首先制定了測驗目標,確定測驗計劃,然后采用不同的測驗工具進行測驗,為改進系統性能提供了資料支持,并得出了詳細的測驗報告,測驗結果中的例外分析讓工程團隊能夠針對具體的問題進行精細的優化,這一成功性能測驗的案例展示出一個優秀公司如何在高壓力的環境下驗證性能、保證高可用性和安全性,實作巨大價值的程序,

另特意為各位同學準備了一份13G的超實用干貨自學資源,涉及的內容非常全面,涵蓋功能測驗、Linux資料庫、Python編程語言,介面測驗、UI自動化測驗、性能測驗......包括軟體學習路線圖,50多天的上課視頻、16個突擊實戰專案(滿足你對測驗經驗的需求),80余個軟體測驗用軟體,37份測驗檔案,70個軟體測驗相關問題,40篇測驗經驗級文章,上千份測驗真題分享,還有2023軟體測驗面試寶典,還有軟體測驗求職的各類精選簡歷,希望對大家有所幫助…這些都在我的軟體測驗學習交流群里:110685036

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556229.html

標籤:其他

上一篇:Sudo堆溢位漏洞(CVE-2021-3156)復現

下一篇:返回列表

標籤雲
其他(161801) Python(38259) JavaScript(25515) Java(18273) C(15238) 區塊鏈(8273) C#(7972) AI(7469) 爪哇(7425) MySQL(7271) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5875) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4607) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2438) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1985) HtmlCss(1976) 功能(1967) Web開發(1951) C++(1942) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1881) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 分享一次性能測驗程序,5個步驟直接起飛!

    在企業中完成性能測驗專案是一個挑戰性強、技術含量高的任務。本文將分享一個公司完成高性能游戲系統的性能測驗程序,展示如何完成一次成功的性能測驗專案。 專案背景:這是一家游戲公司,推出了一款新的游戲軟體,系統要求高性能、高并發、高可用,為確保用戶體驗和游戲體驗,公司決定在正式上線前對系統進行性能測驗. ......

    uj5u.com 2023-06-29 08:21:47 more
  • Sudo堆溢位漏洞(CVE-2021-3156)復現

    2021年1月26日,Qualys Research Labs在 sudo 發現了一個缺陷。sudo 決議命令列引數的方式時,錯誤的判斷了截斷符,從而導致攻擊者可以惡意構造載荷,使得sudo發生堆溢位,該漏洞在配合環境變數等分配堆以及釋放堆的原語下,可以致使本地提權。 ......

    uj5u.com 2023-06-29 08:21:11 more
  • 業務安全情報第十七期 | 國際航班上,小“票代”在瘋狂倒賣高價票

    頂象防御云業務安全情報中心監測發現,某航空國際航班,遭遇惡意網路爬蟲的持續攻擊。高峰時期,B2C網站惡意網路爬蟲的訪問量達84%,嚴重占用網路帶寬。此外,小“票代”還進行航班票價的倒賣,直接影響乘客正常查詢和購票。 乘坐國際航班,躲不開的“票代” 《2022年民航行業發展統計公報》顯示,國際航線完成 ......

    uj5u.com 2023-06-29 08:19:38 more
  • ChatGLM-6B第二代模型開源,拿下LLM模型中文能力評估榜單第一名

    ChatGLM-6B 自3月14日發布以來,深受廣大開發者喜愛。截至 6 月24日,來自 Huggingface 上的下載量已經超過 300w。 為了更進一步促進大模型開源社區的發展,我們再次升級 ChatGLM-6B,發布 ChatGLM2-6B 。在主要評估LLM模型中文能力的 C-Eval 榜 ......

    uj5u.com 2023-06-28 10:53:24 more
  • ChatGLM-6B第二代模型開源,拿下LLM模型中文能力評估榜單第一名

    ChatGLM-6B 自3月14日發布以來,深受廣大開發者喜愛。截至 6 月24日,來自 Huggingface 上的下載量已經超過 300w。 為了更進一步促進大模型開源社區的發展,我們再次升級 ChatGLM-6B,發布 ChatGLM2-6B 。在主要評估LLM模型中文能力的 C-Eval 榜 ......

    uj5u.com 2023-06-28 10:47:45 more
  • 自然語言處理 Paddle NLP - 機器同傳技術及應用-理論

    視頻:https://aistudio.baidu.com/aistudio/course/introduce/24177?sharedLesson=1490529&sharedType=2&sharedUserId=2631487&ts=1687144071539 課件:https://aistu ......

    uj5u.com 2023-06-28 09:53:40 more
  • 【面試實戰】面試官面試模擬訓練【一】

    博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ......

    uj5u.com 2023-06-28 09:53:14 more
  • 【筆者感悟】筆者的學習心得【二】

    博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ......

    uj5u.com 2023-06-28 09:53:08 more
  • Kubernetes安裝慢的解決方法

    在`Docker Desktop`里面直接去安裝啟用`Kubernetes`會一直處在`Starting...`狀態中,這是因為鏡像默認是從Kubernetes提供的官方地址下載,該地址在國內是被墻的,如果你沒有類似Vpn的翻墻工具的話,可以通過下面這種方式更快一點。 ### 準備好安裝鏡像 鏡像地 ......

    uj5u.com 2023-06-28 09:53:02 more
  • “面試造飛機,上崗擰螺絲“?2023軟體測驗崗面試真題超全面整理(最新

    軟體測驗這個崗位,想要找到一份高薪的作業,離不開繁雜的面試程式,這相信是很多準備應聘軟體測驗崗的朋友難題,很多已經在職多年的軟體測驗工程師對于這個崗位面試都談虎色變,那么,為什么軟體測驗崗位的面試這么難呢? 第一,軟體測驗屬于互聯網IT行業,可以說包羅萬象,雖然真正入職后,公司不會要求你運用很多很多 ......

    uj5u.com 2023-06-28 09:52:51 more