這類(lèi)問(wèn)題之前也被問(wèn)到很多次了,所以這次干脆整理一下,發(fā)個(gè)主題供同行們參考。
如果需要補充,也歡迎大家留言一起討論。 如果想真的做好性能測試,需要學(xué)習的東西還是比較多的。
簡(jiǎn)單列一下吧。 1. 精通性能測試的基本概念,過(guò)程,方法論,了解性能工程;3. 扎實(shí)的計算機專(zhuān)業(yè)基礎知識,包括計算機組成原理、操作系統、數據庫原理、計算機網(wǎng)絡(luò )原理;4. 熟悉至少1個(gè)常用的數據庫產(chǎn)品,例如SQL Server或者 Oracle,能進(jìn)行一般的數據庫管理操作,熟悉SQL腳本的使用,熟悉常用的數據調優(yōu)工具和常用的counter;5. 熟悉至少一個(gè)操作系統的原理,Windows或者Linux都可以,熟悉操作系統的體系架構、操作系統的重要基礎概念,以及內存管理、存儲/文件系統、驅動(dòng)/硬件的管理、網(wǎng)絡(luò )協(xié)議的實(shí)現及構成、性能的監控方法和原理,熟悉常用的counter;6. 熟悉至少一個(gè)web server 產(chǎn)品,例如apache,了解一般的配置和常用的counter;7. 熟悉至少一個(gè)應用服務(wù)器產(chǎn)品,例如tomcat,了解一般的配置,熟悉常用的服務(wù)器性能監控方法和原理,熟悉常用的counter;8. 至少熟悉TCP/IP協(xié)議,熟悉HTTP協(xié)議,至少見(jiàn)過(guò)并了解三層、四層交換或者路由器的使用和配置。
了解常用的與網(wǎng)絡(luò )性能相關(guān)的counter;9. 了解一般的大型企業(yè)應用的部署架構和應用架構;10. 了解知名大型web應用、高并發(fā)量、高流量、實(shí)時(shí)響應要求高的超大規模網(wǎng)站的架構和優(yōu)化歷程;11. 熟悉統計學(xué)的基礎知識、常用分析方法以及實(shí)驗設計方法,了解數學(xué)建模相關(guān)的知識;12. 熟悉專(zhuān)屬行業(yè)的業(yè)務(wù)知識和用戶(hù)場(chǎng)景,例如電信行業(yè)的OSS系統所涉及的業(yè)務(wù)知識和用戶(hù)場(chǎng)景,證券交易系統所涉及的業(yè)務(wù)知識和用戶(hù)場(chǎng)景;13. 大量的實(shí)際性能測試及優(yōu)化經(jīng)驗;14. 積極的參與到各類(lèi)圈子、社團的討論和交流、分享中。 暫時(shí)先想到了這么多,有興趣的朋友可以一起討論一下,相信每個(gè)人都有自己不同的經(jīng)歷和感想,可以跟其他人分享一下,提供參考。
另外,我之前也整理發(fā)布過(guò)不少性能測試方面的資料,從入門(mén)級的文章到 升級的必讀都有一些,有興趣可以參考。
性能測試的要求還是挺高的,性能測試要掌握的東西很多,首先一般性能測試需要借助一些工具,比如loadrunner,所以首先你得熟悉至少一種性能測試工具。然后就是性能測試工具中要用到的腳本,如果只靠工具本身所提供的錄制功能,錄制的腳本是肯定不能滿(mǎn)足一些特殊的需求,所以你還得學(xué)一種編程語(yǔ)言,loadrunner用的是C語(yǔ)言,如果這些都沒(méi)問(wèn)題了,那么你還需要對要測試的系統相當了解,并且具備一些服務(wù)器,數據庫及網(wǎng)絡(luò )方面的知識,這樣更能快速的找到系統的性能瓶頸及出現性能問(wèn)題的原因,接下來(lái)你就可以執行你的測試腳本了。剩下的就是模擬用戶(hù)情景,并對測試結果進(jìn)行分析了,。當然這只是一部分,更深的東西還需要自己去挖掘。
僅代表個(gè)人意見(jiàn),
你好,首先很欣賞你的這種態(tài)度。我在TestBird 招聘新人的時(shí)候,也有很多小朋友覺(jué)得自己有多了解工具運用,有多熟練步驟過(guò)程,自我感覺(jué)很不錯。
其實(shí),我卻想說(shuō),性能測試的重點(diǎn)不在性能測試工具的學(xué)習上。
當然,你也通過(guò)分析系統的壓力點(diǎn)、LR錄制腳本,設置用戶(hù),做壓力,分析結果,整理測試報告。完成了性能測試的整個(gè)過(guò)程。那么我說(shuō)這個(gè)性能測試報告是有效的,但它不一定是有用的。
為什么呢?因為在性能測試報告中,在你所在的環(huán)境中,你是測出了這樣的效果。并未摻假,全部真實(shí)的記錄。
為什么說(shuō)它不一定是有用的,你了解系統架構么?知道數據庫、中間件、前端程序的運行方式和處理機制么?了解網(wǎng)絡(luò )協(xié)議么?了解操作系統么?熟悉開(kāi)發(fā)系統的語(yǔ)言么,如java JVM的內在機理知道么?這些都是系統運行的一部分,都在影響著(zhù)系統的性能。如果不了解這些,你如何做出有價(jià)值的有參考意義的性能測試。
所以,學(xué)會(huì )這些性能測試工具很好,但是這僅僅是第一步。性能結果只是一些數據而已,知道你在做什么,為什么要做這些,做完后能給出有價(jià)值的東西,才是后面要慢慢修煉的。
性能測試是通過(guò)自動(dòng)化的測試工具模擬多種正常、峰值以及異常負載條件來(lái)對系統的各項性能指標進(jìn)行測試。
負載測試和壓力測試都屬于性能測試,兩者可以結合進(jìn)行。通過(guò)負載測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時(shí),系統各項性能指標的變化情況。
壓力測試是通過(guò)確定一個(gè)系統的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統能提供的最大服務(wù)級別的測試。 性能測試類(lèi)型包括負載測試,強度測試,容量測試等。
負載測試(Load Testing):負載測試是一種性能測試指數據在超負荷環(huán)境中運行,程序是否能夠承擔。負載測試強調的是系統能夠達到的峰值指標。
強度測試(Stress Testing): 強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情況。強度測試強調的是系統在高負載情況下能夠穩定工作,即在極端情況下系統的穩定性。
容量測試(Volume Testing):確定系統可處理同時(shí)在線(xiàn)的最大用戶(hù)數。 如果想真的做好性能測試,需要學(xué)習的東西還是比較多的。
簡(jiǎn)單列一下吧。 1. 精通性能測試的基本概念,過(guò)程,方法論,了解性能工程; 3. 扎實(shí)的計算機專(zhuān)業(yè)基礎知識,包括計算機組成原理、操作系統、數據庫原理、計算機網(wǎng)絡(luò )原理; 4. 熟悉至少1個(gè)常用的數據庫產(chǎn)品,例如SQL Server或者 Oracle,能進(jìn)行一般的數據庫管理操作,熟悉SQL腳本的使用,熟悉常用的數據調優(yōu)工具和常用的counter; 5. 熟悉至少一個(gè)操作系統的原理,Windows或者Linux都可以,熟悉操作系統的體系架構、操作系統的重要基礎概念,以及內存管理、存儲/文件系統、驅動(dòng)/硬件的管理、網(wǎng)絡(luò )協(xié)議的實(shí)現及構成、性能的監控方法和原理,熟悉常用的counter; 6. 熟悉至少一個(gè)web server 產(chǎn)品,例如apache,了解一般的配置和常用的counter; 7. 熟悉至少一個(gè)應用服務(wù)器產(chǎn)品,例如tomcat,了解一般的配置,熟悉常用的服務(wù)器性能監控方法和原理,熟悉常用的counter; 8. 至少熟悉TCP/IP協(xié)議,熟悉HTTP協(xié)議,至少見(jiàn)過(guò)并了解三層、四層交換或者路由器的使用和配置。
了解常用的與網(wǎng)絡(luò )性能相關(guān)的counter; 9. 了解一般的大型企業(yè)應用的部署架構和應用架構; 10. 了解知名大型web應用、高并發(fā)量、高流量、實(shí)時(shí)響應要求高的超大規模網(wǎng)站的架構和優(yōu)化歷程; 。展開(kāi) 性能測試是通過(guò)自動(dòng)化的測試工具模擬多種正常、峰值以及異常負載條件來(lái)對系統的各項性能指標進(jìn)行測試。
負載測試和壓力測試都屬于性能測試,兩者可以結合進(jìn)行。通過(guò)負載測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時(shí),系統各項性能指標的變化情況。
壓力測試是通過(guò)確定一個(gè)系統的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統能提供的最大服務(wù)級別的測試。 性能測試類(lèi)型包括負載測試,強度測試,容量測試等。
負載測試(Load Testing):負載測試是一種性能測試指數據在超負荷環(huán)境中運行,程序是否能夠承擔。負載測試強調的是系統能夠達到的峰值指標。
強度測試(Stress Testing): 強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情況。強度測試強調的是系統在高負載情況下能夠穩定工作,即在極端情況下系統的穩定性。
容量測試(Volume Testing):確定系統可處理同時(shí)在線(xiàn)的最大用戶(hù)數。 如果想真的做好性能測試,需要學(xué)習的東西還是比較多的。
簡(jiǎn)單列一下吧。 1. 精通性能測試的基本概念,過(guò)程,方法論,了解性能工程; 3. 扎實(shí)的計算機專(zhuān)業(yè)基礎知識,包括計算機組成原理、操作系統、數據庫原理、計算機網(wǎng)絡(luò )原理; 4. 熟悉至少1個(gè)常用的數據庫產(chǎn)品,例如SQL Server或者 Oracle,能進(jìn)行一般的數據庫管理操作,熟悉SQL腳本的使用,熟悉常用的數據調優(yōu)工具和常用的counter; 5. 熟悉至少一個(gè)操作系統的原理,Windows或者Linux都可以,熟悉操作系統的體系架構、操作系統的重要基礎概念,以及內存管理、存儲/文件系統、驅動(dòng)/硬件的管理、網(wǎng)絡(luò )協(xié)議的實(shí)現及構成、性能的監控方法和原理,熟悉常用的counter; 6. 熟悉至少一個(gè)web server 產(chǎn)品,例如apache,了解一般的配置和常用的counter; 7. 熟悉至少一個(gè)應用服務(wù)器產(chǎn)品,例如tomcat,了解一般的配置,熟悉常用的服務(wù)器性能監控方法和原理,熟悉常用的counter; 8. 至少熟悉TCP/IP協(xié)議,熟悉HTTP協(xié)議,至少見(jiàn)過(guò)并了解三層、四層交換或者路由器的使用和配置。
了解常用的與網(wǎng)絡(luò )性能相關(guān)的counter; 9. 了解一般的大型企業(yè)應用的部署架構和應用架構; 10. 了解知名大型web應用、高并發(fā)量、高流量、實(shí)時(shí)響應要求高的超大規模網(wǎng)站的架構和優(yōu)化歷程; 11. 熟悉統計學(xué)的基礎知識、常用分析方法以及實(shí)驗設計方法,了解數學(xué)建模相關(guān)的知識; 12. 熟悉專(zhuān)屬行業(yè)的業(yè)務(wù)知識和用戶(hù)場(chǎng)景,例如電信行業(yè)的OSS系統所涉及的業(yè)務(wù)知識和用戶(hù)場(chǎng)景,證券交易系統所涉及的業(yè)務(wù)知識和用戶(hù)場(chǎng)景; 13. 大量的實(shí)際性能測試及優(yōu)化經(jīng)驗; 14. 積極的參與到各類(lèi)圈子、社團的討論和交流、分享中。收起。
我學(xué)網(wǎng)絡(luò )的 用到的知識就只有一個(gè) TCP/IP協(xié)議 但里面有包含很多的知識 有數據包的封裝 幀格式(可以做冒充數據包軟件) 3次握手 4次揮手(在這里面可以做很多關(guān)于建立連接的軟件哦 比如 迅雷) ARP(在A(yíng)RP中可以做個(gè)ARP攻擊軟件 或P2P終結者 ARP防火墻 等等) IP(可做IP欺騙軟件) UDP/TCP(可做端口掃描軟件 端口攻擊軟件 比如攻擊端口80的WEB軟件) 在應用層來(lái)說(shuō) 有 公鑰私鑰密鑰軟件 加密軟件 認證軟件 傳輸層 可做SSL軟件 比如你細心的話(huà)你會(huì )發(fā)現訪(fǎng)問(wèn)銀行的時(shí)候瀏覽器會(huì )變成HTTPS 而不是HTTP了 還有很多 KERBEROS身法認證 PGP 都涉及到網(wǎng)絡(luò )知識的 還有IP層的 IPSEC 現在很紅的技術(shù) 還有鏈路層的 L2TP 我也沒(méi)好好終結下 反正大體就這些了 哦 對了 還有流量控制 幀編號 我是學(xué)網(wǎng)絡(luò )的 所以談到的都是關(guān)于網(wǎng)絡(luò )安全的軟件和攻擊方法。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:4.686秒