- 相關(guān)推薦
基礎(chǔ)(系統(tǒng):CPU,進(jìn)程)分析師之路
導(dǎo)讀:要做好系統(tǒng)分析類工程師的面試筆試,本身有專業(yè)的技術(shù)是基礎(chǔ),但也要保持一個(gè)超高的學(xué)習(xí)熱情!以下是由應(yīng)屆畢業(yè)生網(wǎng)小編J.L為您整理推薦的基礎(chǔ)(系統(tǒng):CPU,進(jìn)程)分析師之路,歡迎參考閱讀,
基礎(chǔ)(系統(tǒng):CPU,進(jìn)程)分析師之路
。今年,確定了自己的職業(yè)走向:系統(tǒng)工程師。所以從工作和學(xué)習(xí)積累中開始放棄一些知識(shí)點(diǎn)和業(yè)務(wù)點(diǎn),在測(cè)試行業(yè)的大知識(shí)圈中選中自己需要的幾個(gè)要點(diǎn)進(jìn)行深入研究。
要做好系統(tǒng)分析類的工程師,需要注重3個(gè)部分:數(shù)據(jù)庫(kù),操作系統(tǒng),網(wǎng)絡(luò)。此部分以操作系統(tǒng)為主,結(jié)合工作經(jīng)驗(yàn),開始把系統(tǒng)以自己的測(cè)試角度來(lái)描述一下自己的系統(tǒng)見解。(此次學(xué)習(xí)和工作中性能測(cè)試的書為:《操作系統(tǒng)精髓與設(shè)計(jì)原理》)
雖然對(duì)于評(píng)測(cè)師考核中,硬件也是測(cè)試人員的知識(shí)點(diǎn)之一,由于我的職業(yè)走向基本很少和純硬件打交道,我就從cpu開始學(xué)習(xí)和總結(jié)。
計(jì)算機(jī)在單核的情況下,程序?qū)ζ涠允且慌判枰獔?zhí)行的指令,在高速執(zhí)行的過(guò)程中,單核的計(jì)算機(jī)執(zhí)行的每個(gè)時(shí)刻都是只能處理一件事情.所以單核的 CPU處理的速度取決與它的主頻。
想在每個(gè)進(jìn)程之間插入一些操作,一般來(lái)說(shuō)需要靠中斷,中斷一般來(lái)自與時(shí)鐘,程序和io干預(yù).此時(shí)就可以在cpu中執(zhí)行多個(gè)進(jìn)程的程序.進(jìn)程一般有新建,就緒,執(zhí)行,掛機(jī),退出的狀態(tài),通過(guò)程序和cpu自動(dòng)的分配可以使得進(jìn)程。
多核的計(jì)算機(jī)就好比有多個(gè)獨(dú)立的線程,然后有1 個(gè)主控制器來(lái)分配任務(wù),比起單核,可以同一時(shí)間做多個(gè)任務(wù)。在這里我有個(gè)疑問(wèn),這些多核的系統(tǒng)應(yīng)該也會(huì)像分布式系統(tǒng)一樣有個(gè)控制器來(lái)主導(dǎo)它的執(zhí)行數(shù)據(jù),所以我覺(jué)得他也有類似一個(gè)這樣的映像瓶頸的因素在(這點(diǎn)書上我沒(méi)找到相關(guān)的資料)。
對(duì)于CPU,作為性能測(cè)試人員來(lái)說(shuō),即需要分析多線程的客戶端代碼編寫,也需要分析被測(cè)服務(wù)器的線程相關(guān)指標(biāo)。一半作為自動(dòng)化的腳本來(lái)說(shuō),線程可能只有10個(gè),出現(xiàn)到需要‘分析’線程的時(shí)機(jī)不是太多,但是作為壓力測(cè)試,尤其是不依賴工具來(lái)寫,是個(gè)重要的一環(huán)。
一臺(tái)普通pc可能在執(zhí)行程序可以開到幾百甚至上千個(gè)線程。但是你作為測(cè)試的客戶端,就會(huì)受到了CPU主頻的限制,
資料共享平臺(tái)
《基礎(chǔ)(系統(tǒng):CPU,進(jìn)程)分析師之路》(http://www.ishadingyu.com)。一個(gè)CPU處理速度是有上限的,就是計(jì)算機(jī)能夠開超過(guò)上千的線程,它輸出的壓力其實(shí)不比幾百個(gè)線程高。因?yàn)榇藭r(shí)你的CPU到了極限,多于的線程其實(shí)效果就跟列表的速度差不多。所以第一點(diǎn)測(cè)試的時(shí)候假如要求注重并發(fā)性,你首先要算好和測(cè)試你的每臺(tái)機(jī)器最佳開啟線程數(shù)(測(cè)試穩(wěn)定性可以不用)。
其二我一直把一個(gè)“核”當(dāng)作一個(gè)測(cè)試機(jī)對(duì)待,即使在現(xiàn)在最流行的云,我也是堅(jiān)持物理機(jī)做壓力,因?yàn)槟阍僭趺刺摂M,機(jī)器的效率是有限的,你用盡了機(jī)器的’潛力‘不代表你高并發(fā)。其三,算好每個(gè)測(cè)試機(jī)網(wǎng)絡(luò)io的最大流量,即使你用強(qiáng)大的服務(wù)器機(jī)來(lái)做客戶端,你的io限制了,還有操作系統(tǒng)的限制,使得它并發(fā)的效果不是你所想的效果。
所以,我們?cè)谟袟l件的情況下,做多線程壓力就需要用到分布式,我也經(jīng)常把多核服務(wù)器當(dāng)作“小分布式”對(duì)待。
但是分析被測(cè)系統(tǒng)的性能的時(shí)候,除了關(guān)注上面三點(diǎn)外,我們其實(shí)不是關(guān)注它的并發(fā)能力,而是它的交易成功率,還有就是排隊(duì)的緩存,和負(fù)載均衡的效果。
說(shuō)到線程,應(yīng)該不會(huì)忽略掉信號(hào)量的使用,也是每年軟件評(píng)測(cè)師的典型題目:PV操作。因?yàn)榛コ,死鎖等問(wèn)題,在我學(xué)習(xí)科學(xué)計(jì)算的文章時(shí),用C++ 的代碼會(huì)用到信號(hào)量。
但是用腳本語(yǔ)言python的時(shí)候,發(fā)現(xiàn)很多時(shí)候,它封裝的threading竟然也做到了信號(hào)量的操作(我在同段代碼加入信號(hào)量的控制,效果一樣)這點(diǎn)我需要后期項(xiàng)目機(jī)會(huì)來(lái)研究(畢竟腳本語(yǔ)言使用類似ReentrantReadWriteLock的時(shí)候不多)
為什么我會(huì)提到互斥,還有我分析操作系統(tǒng)期間,會(huì)關(guān)注編寫內(nèi)存這塊呢。因?yàn)楹芏鄷r(shí)候,python和java寫的腳本測(cè)試的確沒(méi)用到這些做壓力測(cè)試。
但是你碰到操作數(shù)據(jù)庫(kù),重現(xiàn)產(chǎn)品異常測(cè)試BUG問(wèn)題,還有提高壓力時(shí),無(wú)疑嵌入C++語(yǔ)言是個(gè)好選擇(這和開發(fā)相反,不知道別人是否這么做,我現(xiàn)在就是這樣做,喜歡把開發(fā)速度快的語(yǔ)言作為主語(yǔ)言)。
因?yàn)楹芏鄿y(cè)試代碼“自動(dòng)”的功能幫倒忙,在做性能測(cè)試的異常測(cè)試時(shí),往往會(huì)因?yàn)檎Z(yǔ)言“自動(dòng)處理”導(dǎo)致很多問(wèn)題給忽略了,這時(shí)候你也不得不用到有“手動(dòng)”功能的語(yǔ)言來(lái)進(jìn)行測(cè)試。
結(jié)語(yǔ):我的測(cè)試之路就是一直在打系統(tǒng)知識(shí)基礎(chǔ)的過(guò)程,每次分析項(xiàng)目問(wèn)題的突破都和CPU,進(jìn)程,線程有關(guān)。同時(shí)為后面的學(xué)習(xí)筆記:分布式,云打下知識(shí)基礎(chǔ)。
【基礎(chǔ)系統(tǒng):CPU,進(jìn)程分析師之路】相關(guān)文章:
筆試題(進(jìn)程)10-26
數(shù)據(jù)分析師常見的面試問(wèn)題10-13
月薪萬(wàn)元,金融分析師搶手07-19
彎路也是必經(jīng)之路09-27
彎路也是必經(jīng)之路08-14
十三五加快殘疾人小康進(jìn)程規(guī)劃綱要08-15
網(wǎng)絡(luò)編輯的橫向發(fā)展之路12-19
《通往奴役之路》讀書筆記10-24
Java基礎(chǔ)筆試題07-06