電影《海上鋼琴師》觀(guān)后感
導讀:要做好系統分析類(lèi)工程師的面試筆試,本身有專(zhuān)業(yè)的技術(shù)是基礎,但也要保持一個(gè)超高的學(xué)習熱情!以下是由應屆畢業(yè)生網(wǎng)小編J.L為您整理推薦的基礎(系統:CPU,進(jìn)程)分析師之路,歡迎參考閱讀。

今年,確定了自己的職業(yè)走向:系統工程師。所以從工作和學(xué)習積累中開(kāi)始放棄一些知識點(diǎn)和業(yè)務(wù)點(diǎn),在測試行業(yè)的大知識圈中選中自己需要的幾個(gè)要點(diǎn)進(jìn)行深入研究。
要做好系統分析類(lèi)的工程師,需要注重3個(gè)部分:數據庫,操作系統,網(wǎng)絡(luò )。此部分以操作系統為主,結合工作經(jīng)驗,開(kāi)始把系統以自己的測試角度來(lái)描述一下自己的系統見(jiàn)解。(此次學(xué)習和工作中性能測試的書(shū)為:《操作系統精髓與設計原理》)
雖然對于評測師考核中,硬件也是測試人員的知識點(diǎn)之一,由于我的職業(yè)走向基本很少和純硬件打交道,我就從cpu開(kāi)始學(xué)習和總結。
計算機在單核的情況下,程序對其而言是一排需要執行的指令,在高速執行的過(guò)程中,單核的計算機執行的每個(gè)時(shí)刻都是只能處理一件事情.所以單核的 CPU處理的速度取決與它的主頻。
想在每個(gè)進(jìn)程之間插入一些操作,一般來(lái)說(shuō)需要靠中斷,中斷一般來(lái)自與時(shí)鐘,程序和io干預.此時(shí)就可以在cpu中執行多個(gè)進(jìn)程的程序.進(jìn)程一般有新建,就緒,執行,掛機,退出的狀態(tài),通過(guò)程序和cpu自動(dòng)的分配可以使得進(jìn)程。
多核的計算機就好比有多個(gè)獨立的線(xiàn)程,然后有1 個(gè)主控制器來(lái)分配任務(wù),比起單核,可以同一時(shí)間做多個(gè)任務(wù)。在這里我有個(gè)疑問(wèn),這些多核的系統應該也會(huì )像分布式系統一樣有個(gè)控制器來(lái)主導它的執行數據,所以我覺(jué)得他也有類(lèi)似一個(gè)這樣的映像瓶頸的因素在(這點(diǎn)書(shū)上我沒(méi)找到相關(guān)的資料)。
對于CPU,作為性能測試人員來(lái)說(shuō),即需要分析多線(xiàn)程的客戶(hù)端代碼編寫(xiě),也需要分析被測服務(wù)器的線(xiàn)程相關(guān)指標。一半作為自動(dòng)化的腳本來(lái)說(shuō),線(xiàn)程可能只有10個(gè),出現到需要‘分析’線(xiàn)程的時(shí)機不是太多,但是作為壓力測試,尤其是不依賴(lài)工具來(lái)寫(xiě),是個(gè)重要的一環(huán)。
一臺普通pc可能在執行程序可以開(kāi)到幾百甚至上千個(gè)線(xiàn)程。但是你作為測試的客戶(hù)端,就會(huì )受到了CPU主頻的限制。一個(gè)CPU處理速度是有上限的,就是計算機能夠開(kāi)超過(guò)上千的線(xiàn)程,它輸出的壓力其實(shí)不比幾百個(gè)線(xiàn)程高。
因為此時(shí)你的CPU到了極限,多于的線(xiàn)程其實(shí)效果就跟列表的速度差不多。所以第一點(diǎn)測試的時(shí)候假如要求注重并發(fā)性,你首先要算好和測試你的每臺機器最佳開(kāi)啟線(xiàn)程數(測試穩定性可以不用)。
其二我一直把一個(gè)“核”當作一個(gè)測試機對待,即使在現在最流行的云,我也是堅持物理機做壓力,因為你再怎么虛擬,機器的效率是有限的,你用盡了機器的’潛力‘不代表你高并發(fā)。其三,算好每個(gè)測試機網(wǎng)絡(luò )io的最大流量,即使你用強大的服務(wù)器機來(lái)做客戶(hù)端,你的io限制了,還有操作系統的限制,使得它并發(fā)的效果不是你所想的效果。
所以,我們在有條件的情況下,做多線(xiàn)程壓力就需要用到分布式,我也經(jīng)常把多核服務(wù)器當作“小分布式”對待。
但是分析被測系統的性能的時(shí)候,除了關(guān)注上面三點(diǎn)外,我們其實(shí)不是關(guān)注它的并發(fā)能力,而是它的交易成功率,還有就是排隊的緩存,和負載均衡的效果。
說(shuō)到線(xiàn)程,應該不會(huì )忽略掉信號量的使用,也是每年軟件評測師的典型題目:PV操作。因為互斥,死鎖等問(wèn)題,在我學(xué)習科學(xué)計算的文章時(shí),用C++ 的代碼會(huì )用到信號量。
但是用腳本語(yǔ)言python的時(shí)候,發(fā)現很多時(shí)候,它封裝的threading竟然也做到了信號量的操作(我在同段代碼加入信號量的控制,效果一樣)這點(diǎn)我需要后期項目機會(huì )來(lái)研究(畢竟腳本語(yǔ)言使用類(lèi)似ReentrantReadWriteLock的時(shí)候不多)
為什么我會(huì )提到互斥,還有我分析操作系統期間,會(huì )關(guān)注編寫(xiě)內存這塊呢。因為很多時(shí)候,python和java寫(xiě)的腳本測試的確沒(méi)用到這些做壓力測試。
但是你碰到操作數據庫,重現產(chǎn)品異常測試BUG問(wèn)題,還有提高壓力時(shí),無(wú)疑嵌入C++語(yǔ)言是個(gè)好選擇(這和開(kāi)發(fā)相反,不知道別人是否這么做,我現在就是這樣做,喜歡把開(kāi)發(fā)速度快的語(yǔ)言作為主語(yǔ)言)。
因為很多測試代碼“自動(dòng)”的功能幫倒忙,在做性能測試的異常測試時(shí),往往會(huì )因為語(yǔ)言“自動(dòng)處理”導致很多問(wèn)題給忽略了,這時(shí)候你也不得不用到有“手動(dòng)”功能的語(yǔ)言來(lái)進(jìn)行測試。
結語(yǔ):我的測試之路就是一直在打系統知識基礎的過(guò)程,每次分析項目問(wèn)題的突破都和CPU,進(jìn)程,線(xiàn)程有關(guān)。同時(shí)為后面的學(xué)習筆記:分布式,云打下知識基礎。
【電影《海上鋼琴師》觀(guān)后感】相關(guān)文章:
最新電影海上鋼琴師觀(guān)后感05-06
電影《海上鋼琴師》觀(guān)后感(精選16篇)03-12
經(jīng)典電影海上鋼琴師觀(guān)后感(通用19篇)04-18
海上的生命《海上鋼琴師》觀(guān)后感(精選20篇)01-08
《海上鋼琴師》電影觀(guān)后感1000字(通用15篇)12-11