雜項(xiàng)三層次性能測試_第1頁
雜項(xiàng)三層次性能測試_第2頁
雜項(xiàng)三層次性能測試_第3頁
雜項(xiàng)三層次性能測試_第4頁
雜項(xiàng)三層次性能測試_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

三層次性能測試

---實(shí)質(zhì)提升性能的解決方案2關(guān)于講師

Honyliu,來自IEG,從事多年軟件開發(fā),轉(zhuǎn)型為技術(shù)測試工作.看好技術(shù)測試前景,并有濃厚興趣。

在公司一直從事性能測試工具開發(fā)、游戲性能測試工作。目前在探索技術(shù)測試相關(guān)工作。

3關(guān)于講師開發(fā)工具

GAPS、ATF、SharpPerformanceWeb游戲

手游

關(guān)于本課程發(fā)現(xiàn)定位優(yōu)化概述關(guān)于本課程發(fā)現(xiàn)定位優(yōu)化概述本節(jié)內(nèi)容性能測試?yán)Ь呈裁词侨龑哟涡阅軠y試三層次帶來的能力挑戰(zhàn)

概述6性能測試?yán)Ь?/p>

測試結(jié)論:

不滿足1w容量,瓶頸在copysvr消耗cpu上……

各路大神開始發(fā)話了

產(chǎn)品:

趕緊優(yōu)化!

開發(fā):怎么改?功能bug還很多呢!淡定,淡定!

老板:測試報(bào)告對產(chǎn)品質(zhì)量提升沒實(shí)質(zhì)效果!

苦逼的測試:為什么?苦勞有木有?。?/p>

概述顆粒度太粗,難推動(dòng),難有效提升質(zhì)量!7規(guī)模收包率ConndcpuDispatchcpuCopysvrcpu事務(wù)響應(yīng)ms1w55000.110.0396>2505k54000.010.0395<250什么是三層次性能測試

實(shí)質(zhì)提升產(chǎn)品性能的有效解決方案!

概述方案設(shè)計(jì)腳本開發(fā)執(zhí)行分析報(bào)告發(fā)現(xiàn)定位優(yōu)化發(fā)現(xiàn)性能情況ConndispatchZonesvrCpu100%響應(yīng)時(shí)間太長TPS太低…定位問題代碼參數(shù)會拷貝傳遞map_find(m_equipment_map,id_,conf_);大量分配內(nèi)存malloc/freeSql語句很慢…優(yōu)化代碼修改方法運(yùn)營效果參數(shù)應(yīng)該傳引用或指針采用多線程充分使用cpu對比優(yōu)化結(jié)果運(yùn)營效果跟進(jìn)8三層次帶來的能力挑戰(zhàn)

需要各種綜合能力!

你將對產(chǎn)品性能提升起關(guān)鍵的作用!

概述發(fā)現(xiàn)性能原理OS基本指標(biāo)原理被測系統(tǒng)基本架構(gòu)原理性能測試工具評估方法…定位被測系統(tǒng)代碼實(shí)現(xiàn)原理開發(fā)語言各種定位診斷工具…優(yōu)化開發(fā)語言各種游戲?qū)崿F(xiàn)原理DB優(yōu)化方法代碼優(yōu)化方法外網(wǎng)分析方法…9關(guān)于本課程發(fā)現(xiàn)定位優(yōu)化概述本節(jié)內(nèi)容工作目標(biāo)經(jīng)典案例

發(fā)現(xiàn)11工作目標(biāo)系統(tǒng)能滿足需求衡量滿足系統(tǒng)的指標(biāo)值如果還要提升,瓶頸在哪里系統(tǒng)不能滿足需求不能滿足的指標(biāo)值問題出在哪個(gè)進(jìn)程發(fā)現(xiàn)12經(jīng)典案例背景前端結(jié)算容量1wCpu資源緊張發(fā)現(xiàn)13動(dòng)作頻率響應(yīng)時(shí)間ms進(jìn)入副本不限制<2000選角色不限制<250清空背包不限制不限制開始關(guān)卡不限制<250刷怪不限制<250撿道具不限制<250開寶箱不限制<250上報(bào)殺死boss不限制<250上報(bào)殺死野怪2/s<250經(jīng)典案例瓶頸分析Copysvr系統(tǒng)瓶頸Cpu資源瓶頸發(fā)現(xiàn)14經(jīng)典案例結(jié)果分析不能滿足容量1w需求Copysvrcpu短缺Copysvr系統(tǒng)瓶頸不滿足1w容量,瓶頸在copysvr消耗cpu上發(fā)現(xiàn)15規(guī)模收包率ConndcpuDispatchcpuCopysvrcpu事務(wù)響應(yīng)ms1w55000.110.0396>2505k54000.010.0395<250報(bào)告發(fā)出去之后看看各方反應(yīng)

產(chǎn)品:

開發(fā):

老板:

苦逼的測試:

發(fā)現(xiàn)16關(guān)于本課程發(fā)現(xiàn)定位優(yōu)化概述18關(guān)于本課程本節(jié)內(nèi)容工作目標(biāo)CPU問題MEM問題IO問題NETWORK問題常用工具方法總結(jié)定位工作目標(biāo)定位到代碼定位到SQL定位到消息定位到系統(tǒng)參數(shù)定到……開發(fā)笑了19CPU問題發(fā)現(xiàn)階段結(jié)論Copysvr系統(tǒng)瓶頸Copysvrcpu短缺

不滿足1w容量,瓶頸在copysvr消耗cpu上定位20規(guī)模收包率ConndcpuDispatchcpuCopysvrcpu事務(wù)響應(yīng)ms1w55000.110.0396>2505k54000.010.0395<250CPU問題熱點(diǎn)函數(shù)分析撿裝備73.88%,取得裝備配置72.06%大量調(diào)用malloc/free函數(shù)關(guān)系分析撿裝備->取得裝備配置裝備配置構(gòu)造map定位21CPU問題代碼分析

get_equipment_conf調(diào)用了map_findmap_find查找的map是拷貝傳遞問題結(jié)論

大量拷貝裝備配置消耗cpu裝備集有920個(gè),系統(tǒng)配置頻繁分配和釋放內(nèi)存定位22CPU問題定位方法小結(jié)確定為進(jìn)程CPU問題監(jiān)控函數(shù)valgrind熱點(diǎn)函數(shù)函數(shù)關(guān)系代碼分析其它典型問題

系統(tǒng)態(tài)高

平均負(fù)載高

定位23MEM問題登陸場景發(fā)現(xiàn)Infosvr進(jìn)程存在內(nèi)存泄漏

預(yù)分配內(nèi)存、虛擬、常駐內(nèi)存持續(xù)增漲定位24MEM問題動(dòng)態(tài)監(jiān)控排除無效提示

各種庫、init函數(shù)關(guān)注各種業(yè)務(wù)函數(shù)DBGet可能存在泄漏函數(shù)關(guān)系

ProcessSync

DBGet

定位25MEM問題代碼分析DBGet分配內(nèi)存ProcessSync未釋放內(nèi)存問題結(jié)論函數(shù)分配內(nèi)存,不負(fù)責(zé)釋放調(diào)用者未履行釋放內(nèi)存定位26MEM問題定位方法小結(jié)確定內(nèi)存趨勢異常工具監(jiān)控內(nèi)存

動(dòng)態(tài)監(jiān)控(memcheck)、靜態(tài)掃描(cppcheck)代碼分析

內(nèi)存分配點(diǎn)、釋放點(diǎn)

預(yù)分配內(nèi)存是否存在泄漏?

定位27IO問題國戰(zhàn)跳zone磁盤io過高問題分析定位分析結(jié)論高IO進(jìn)程,DBSql頻率、表結(jié)構(gòu)定位Sql語句頻率:RoleData_*表讀、寫操作頻繁,

每次跳zone表結(jié)構(gòu):字段非常多(103個(gè)),字段大(ImportantBlobInfo、GeneralBlobInfo幾K)原因:頻繁讀寫RoleData_*大量字段、大字段造成28IO問題定位方法小結(jié)確定IO異常定位IO高的進(jìn)程iotop日志問題日志級別數(shù)據(jù)庫問題sql頻率、慢查詢、大字段

定位29NETWORK問題PhpWork進(jìn)程同步道具列表dump

日志提示連接數(shù)據(jù)庫超時(shí)分析結(jié)論客戶端正常訪問數(shù)據(jù)庫數(shù)據(jù)庫連接不斷增長

PHP與數(shù)據(jù)庫為短連接

頻繁斷開連接連接耗盡OS快速回收連接未配置

定位30NETWORK問題定位方法小結(jié)確定為network問題連接耗盡大量短連接未釋放流量超標(biāo)平均戶流量、消息頻率字段冗余、消息體小頭大不常見問題

丟包率>2%,網(wǎng)絡(luò)延時(shí)過長

定位31常用工具應(yīng)用日志熱點(diǎn)函數(shù)工具IO工具IOTOP定位到進(jìn)程慢查詢監(jiān)控mysql監(jiān)控日志內(nèi)存監(jiān)控

動(dòng)態(tài)監(jiān)控,靜態(tài)掃描,自制工具網(wǎng)絡(luò)連接

netstat–an|grepxxxx定位32開發(fā)各種工具工具環(huán)境語言編譯功能范圍分析工具性能影響多線程動(dòng)態(tài)庫jprofiler跨平臺java不需要

編譯會信息更詳細(xì)-g熱點(diǎn)函數(shù)

內(nèi)存圖形大支持支持valgrindlinuxc/c++不需要

編譯會信息更詳細(xì)-g熱點(diǎn)函數(shù)

內(nèi)存圖形

數(shù)據(jù)大支持支持gproflinuxc/c++需要編譯-pg熱點(diǎn)函數(shù)數(shù)據(jù)一般不支持不支持tpofilerlinuxc/c++不需要熱點(diǎn)函數(shù)

內(nèi)存圖形小支持支持方法總結(jié)定位問題類型cpuMemio…工具發(fā)現(xiàn)線索熱點(diǎn)函數(shù)IO進(jìn)程…代碼分析代碼配置…問題確認(rèn)33看看各方反應(yīng)

產(chǎn)品:

開發(fā):

老板:

苦逼的測試:

定位34關(guān)于本課程發(fā)現(xiàn)定位優(yōu)化概述36關(guān)于本課程本節(jié)內(nèi)容工作目標(biāo)經(jīng)典案例優(yōu)化方法總結(jié)經(jīng)典優(yōu)化建議工作目標(biāo)提出專業(yè)優(yōu)化建議精確評估上線性能跟蹤外網(wǎng)運(yùn)營效果優(yōu)化37經(jīng)典案例優(yōu)化建議修改為引用或指針傳遞參數(shù)boolmap_find(conststd::map<K,T>&m_,constK&key_,T&value_)對比優(yōu)化前后使用第一層的方法再次測試性能評估

響應(yīng)時(shí)間、cpu等滿足設(shè)計(jì)需求

可承載1w容量優(yōu)化

規(guī)模收包率conndcpudispatchcpucopysvrcpu響應(yīng)時(shí)間ms優(yōu)化前1w55000.110.0396>250優(yōu)化后1w84000.470.548.45<25038運(yùn)營效果關(guān)注最終效果關(guān)注體驗(yàn)指標(biāo)關(guān)注關(guān)鍵資源指標(biāo)現(xiàn)網(wǎng)和評估結(jié)果對比優(yōu)化39優(yōu)化層次思路總結(jié)根據(jù)定位問題結(jié)論,提出優(yōu)化方案優(yōu)化方法提供bug類,算法類,架構(gòu)層面性能評估體驗(yàn)、資源消耗評估運(yùn)營監(jiān)控外網(wǎng)體驗(yàn),資源監(jiān)控,玩家行為監(jiān)控優(yōu)化40經(jīng)典優(yōu)化建議大量拷貝大容器

修改為引用或指針傳遞參數(shù)

boolmap_find(conststd::map<K,T>&m_,constK&key_,T&value_)無必要的初始化

每次發(fā)送bus包對緩沖區(qū)清0

只要設(shè)置好bus包頭,包體是完全覆蓋,清0動(dòng)作沒必要chartmpbuf[ai::MAX_AI_PKG_LEN];//chartmpbuf[ai::MAX_AI_PKG_LEN]={0}慢查詢

updateGoldArenaSuperHerosetisActi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論