日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 如何系統(tǒng)性地保障軟件性能

如何系統(tǒng)性地保障軟件性能

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-09-14 10:38:51 閱讀次數(shù):1878次

【編者按】任何一款軟件開(kāi)發(fā)離不開(kāi)性能測(cè)試,性能作為軟件用戶的第一體驗(yàn)顯得尤為重要。軟件性能貫穿整個(gè)軟件開(kāi)發(fā)過(guò)程,從需求,到設(shè)計(jì),到開(kāi)發(fā),到測(cè)試,最后到發(fā)布反饋。那么如何系統(tǒng)性地保障軟件性能呢?文中以QQ為例,分別闡述了在各個(gè)環(huán)節(jié)中把控性能的重要性。

一個(gè)正在持續(xù)增加新功能的軟件,尤其是類似QQ這種做為一個(gè)超大規(guī)模客戶端軟件,又隨時(shí)需要適應(yīng)用戶要求和發(fā)展的需求,需要不斷的做快速的更 新,開(kāi)發(fā)節(jié)奏非常快。而且因?yàn)槲覀兊挠脩羰呛A坑脩簦脩舻能浻布h(huán)境非常復(fù)雜。性能作為軟件的用戶第一體驗(yàn),如何去系統(tǒng)性地保障軟件的性能,對(duì)于QQ來(lái)說(shuō)就變得非常重要。

那么要保障持續(xù)開(kāi)發(fā)過(guò)程軟件的性能能夠得到保障應(yīng)該做些什么呢?

1.需求階段開(kāi)始考慮性能

首先從需求提出階段說(shuō)起,需求提出階段應(yīng)該要開(kāi)始考慮性能問(wèn)題了,產(chǎn)品經(jīng)理提出需求之前,必須要系統(tǒng)性地了解哪些因素會(huì)影響到軟件的性能,這些因素包括但不限于:需求的處理時(shí)機(jī),需求的處理數(shù)量,需求的處理是否涉及大的IO網(wǎng)絡(luò),以及CPU。尤其是在使用特性上要思考清楚,比如涉及到消息記錄的需 求,可能要考慮到有的用戶的消息記錄很大,比如涉及好友列表的需求,可能要考慮到有的用戶的好友列表很多等。

使用時(shí)機(jī)的話,比如需求是在登錄過(guò)程中那么可能要考慮該需求是否會(huì)影響到登錄速度,如果是在登錄后的話,是否會(huì)造成登錄后卡。

結(jié)合這些特征,對(duì)于一些從需求側(cè)就可能有問(wèn)題的需求,要么考慮直接不做這個(gè)需求,要么考慮針對(duì)不同的使用特征做不同的處理,比如考慮到消息記錄可能 有很大的情況,那么涉及消息記錄的需求盡量不要去讀取整個(gè)消息記錄。有的時(shí)候,也可以考慮切換需求處理的時(shí)機(jī),比如在更新好友資料的需求,如果是做在登錄 過(guò)程可能是會(huì)引起登錄過(guò)程很慢,那么需求可以修改成登錄過(guò)程先加載本地?cái)?shù)據(jù),登錄后某個(gè)空閑時(shí)機(jī)再去做必要的更新。

2.需求開(kāi)發(fā)階段如何考慮性能

在一個(gè)需求開(kāi)始開(kāi)發(fā)之前,一個(gè)有經(jīng)驗(yàn)的程序員應(yīng)該是要先做設(shè)計(jì),在架構(gòu)設(shè)計(jì)的過(guò)程,我們應(yīng)該要考慮性能,讓架構(gòu)能夠支持足夠的數(shù)據(jù)量,保持架構(gòu)上能 在各種場(chǎng)景都不會(huì)出現(xiàn)性能問(wèn)題。各種處理分別是在什么時(shí)機(jī)進(jìn)行也是要在設(shè)計(jì)的時(shí)候就想好的,只有性能出眾的架構(gòu)才是很好的架構(gòu)。

在實(shí)際開(kāi)發(fā)的過(guò)程,要充分考慮用戶的使用場(chǎng)景和并發(fā)數(shù)量,比如開(kāi)發(fā)一個(gè)火車(chē)票訂票系統(tǒng),如果不考慮春運(yùn)的時(shí)候的特殊情況,那么最終只會(huì)在春運(yùn)的時(shí)候系統(tǒng)直接癱瘓。

可能這個(gè)時(shí)候有人會(huì)問(wèn),春運(yùn)的時(shí)候就是有那么多用戶在訪問(wèn),系統(tǒng)就是支持不了那么應(yīng)該怎么辦呢?至少可以從兩個(gè)方面去解決,一個(gè)方面可以考慮在訪問(wèn) 量很大的時(shí)候,只提供核心訂票等業(yè)務(wù)的支持,而網(wǎng)頁(yè)上的一些圖片什么的完全可以不提供拉取。另一方方面,可以考慮提供給系統(tǒng)最大支持量的用戶正常的服務(wù), 而可以對(duì)一些超出負(fù)載的用戶提出的服務(wù)短期內(nèi)進(jìn)行拒絕。設(shè)置可以提供一種排隊(duì)進(jìn)入的機(jī)制。

3.測(cè)試階段如何關(guān)注性能

在測(cè)試階段我們還需要做什么來(lái)保障性能呢?

首先我想強(qiáng)調(diào)的是,測(cè)試是保證產(chǎn)品的性能最終是否達(dá)標(biāo)的最后保障,所以這個(gè)環(huán)節(jié)一定要嚴(yán)格要求。

從信念上來(lái)說(shuō),只要開(kāi)發(fā)同學(xué)有對(duì)代碼進(jìn)行修改,那么都是要懷疑可能引入性能問(wèn)題的,之前我們的一個(gè)打開(kāi)好友聊天窗口的時(shí)候卡的一個(gè)性能問(wèn)題,就是因?yàn)樵谧烂婵旖輬D標(biāo)的時(shí)候在打開(kāi)聊天窗口的過(guò)程加了一行代碼。

測(cè)試方法上,要注意用接近現(xiàn)實(shí)的一些數(shù)據(jù)來(lái)進(jìn)行測(cè)試,包括前面說(shuō)到的消息記錄的大小和好友列表的數(shù)目。另外要注意覆蓋各種使用場(chǎng)景。最后還有一點(diǎn)尤 其要注意的是要注意用多種機(jī)器多種網(wǎng)絡(luò)環(huán)境多種軟件環(huán)境來(lái)測(cè)試,機(jī)器的話,主要包括性能好的機(jī)器和性能差的機(jī)器,機(jī)器的網(wǎng)絡(luò)環(huán)境的話要考慮網(wǎng)絡(luò)丟包比較大 的一些情況,還要集合局域網(wǎng)廣域網(wǎng)以及中國(guó)的各大運(yùn)營(yíng)商之間的不同網(wǎng)絡(luò)場(chǎng)景。軟件環(huán)境的話,一方面包括不同的操作系統(tǒng),一方面包括同時(shí)運(yùn)行和安裝的軟件環(huán) 境,比如殺毒軟件,安全軟件,或者是同時(shí)在運(yùn)行一些大型游戲的情況。

當(dāng)然最好的情況是,建立一系列的自動(dòng)化測(cè)試框架,把一些我們平常關(guān)注的重要數(shù)據(jù),比如QQ的登錄速度,登錄后卡不卡,打開(kāi)好友聊天窗口的速度等等通 過(guò)自動(dòng)化跑出來(lái)。通過(guò)定期進(jìn)行自動(dòng)化測(cè)試,同時(shí)把數(shù)據(jù)進(jìn)行各個(gè)歷史版本橫向比較,最后可以做到快速監(jiān)控,最快速度發(fā)現(xiàn)性能問(wèn)題。

4.反饋跟蹤如何關(guān)注性能

產(chǎn)品發(fā)布之后,依然還要繼續(xù)關(guān)注它的性能。一方面由于我們的用戶群體非常大,所以難免有些情況和使用場(chǎng)景沒(méi)有考慮周全,所以最后運(yùn)營(yíng)階段沒(méi)有問(wèn)題的版本才是合格的版本。

我們一般通過(guò)定期關(guān)注微博,關(guān)注產(chǎn)品本身的反饋論壇,以及外面的一些相關(guān)論壇來(lái)收集信息。同時(shí)關(guān)注周邊的朋友,以及同事的反饋也是一個(gè)很重要的方面。

在用戶反饋有問(wèn)題的時(shí)候,應(yīng)該要及時(shí)去處理,處理方法一方面要先了解用戶的使用場(chǎng)景和使用情況,另一方面可以給用戶一些工具,通過(guò)這些工具去記錄當(dāng) 時(shí)的CPU,內(nèi)存,IO的使用情況,當(dāng)時(shí)是否界面有無(wú)響應(yīng)等信息。同時(shí)工具最好能夠記錄在有性能問(wèn)題的時(shí)候軟件正在忙什么,當(dāng)時(shí)的堆棧以及系統(tǒng)調(diào)用函數(shù)是 什么,有了這些信息就可以快速的解決問(wèn)題了。

5.總結(jié)

整體來(lái)看,貫穿整個(gè)軟件開(kāi)發(fā)的過(guò)程,從需求,到設(shè)計(jì),到開(kāi)發(fā),到測(cè)試,最后到發(fā)布反饋,都得要持續(xù)關(guān)注軟件的性能,這樣才能得到一個(gè)系統(tǒng)性地保證。可見(jiàn),性能優(yōu)化是一個(gè)需要持續(xù)運(yùn)營(yíng)的過(guò)程。

原文來(lái)自:QQ客戶端團(tuán)隊(duì)博客

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 精品成人av | 国产亚洲综合性久久久影院 | 日韩写真福利视频在线 | 国产免费美女网站 | 日韩欧美电影在线观看 | 国产suv精品一区二区 | 一级视频在线观看 | 久久久精品中文 | 中文字幕不卡在线 | a黄色 | 免费在线成人av | 91超碰在线 | 91看片在线观看视频 | 日日噜噜噜夜夜爽爽狠狠视频97 | 国产一区 | 日本一本色道免费视频 | 国产精品欧美日韩 | 日本一区二区三区在线观看 | 99国产精品久久久久久久成人热 | 国产精品久久国产精品 | 久久福利影院 | 日韩精品久久一区二区三区 | 国产精品美女视频 | 99热最新 | 国产成人网 | 午夜三级 | 国产一区免费观看 | 在线黄网站 | 小草av | 国产尤物精品视频 | 国产精品麻豆欧美日韩ww | 麻豆精品在线播放 | 成人午夜网站 | 国产在线播放网址 | 国产搞黄色| 欧美精品在线一区二区三区 | 超碰娱乐| 99成人精品 | 日韩成人免费观看 | 亚洲欧美视频一区 | 国产精品亚洲成在人线 |