六一兒童節(jié)網(wǎng)站制作北京百度seo排名點擊器
一、有沒有做過性能測試,具體怎么做的
性能測試是有做過的,不過我們那個項目的性能做得不多,公司要求也不嚴格。一般SE 給我們相關(guān)的性能需求,首先我們需要對性能需求進行場景分析與設(shè)計,這里,其實主要就是確定并發(fā)數(shù),考慮是否需求設(shè)置集合點,以及個業(yè)務(wù)場景的性能指標要求,根據(jù)以上的分析來編寫性能測試用例。
然后就開始著手去準備性能測試需要用到數(shù)據(jù),以便后期做參數(shù)化,搭建好性能測試環(huán)境,然后就進行性能腳本的開發(fā)與執(zhí)行。
就拿當時做過的一個下單接口性能測試來講吧。
當時下單接口要求做一個并發(fā)壓測,當時公司要求設(shè)定的并發(fā)數(shù)在:600 考慮到下單接口,必須要先登錄,所以,首先我會準備600 個用戶數(shù)據(jù)(賬號,密碼),這邊當時是通過存儲過程來實現(xiàn)。然后把創(chuàng)建好的600 個用戶賬號,提取出來,保存在csv 文件中。之后就是編寫性能測試腳本了,這里主要就是,腳本的幾個核心點:
1,線程組中的線程數(shù)設(shè)置為:600
2,Ramp-Up 時間:5 秒
3,循環(huán)測試設(shè)置1 次
4,然后就是開始進行用戶數(shù)據(jù)的參數(shù)化,參數(shù)化這塊需要用到一個csv 數(shù)據(jù)文件設(shè)置這個配置原件。
5,考慮是需要設(shè)置集合點,由于不是秒殺搶購活動,不需要設(shè)置集合點。
6,最后添加聚合報告,用來觀察90%用戶的平均響應(yīng)時間,錯誤率,吞吐量/吞吐量這些指標
7,例外對于服務(wù)器資源的監(jiān)控,像CPU,內(nèi)存,磁盤IO,網(wǎng)絡(luò),這塊當時用的nmon 工
具來獲取這些數(shù)據(jù)的,我們需要在服務(wù)器上安裝一個nmon 工具,并運行啟動就可以了,最后把它轉(zhuǎn)化為excel 表格形式的圖形化報告。最后對報告做一個簡單的分析。
當時我們就是這么做的
二、性能測試流程是怎么樣的?
例外一種問法:簡單介紹下你們公司的性能測試流程是怎么樣的?
我們那個項目的性能做得不多,公司要求也不嚴格。對于流程這塊,首先就要對整個系統(tǒng)進行詳細的分析,確定基本的測試范圍,看下系統(tǒng)的哪些業(yè)務(wù)是需要做性能測試的,還有就是做哪方面的性能測試,對于我們那個項目,當時就做了幾個業(yè)務(wù)做了些簡單的并發(fā)壓測(穩(wěn)定性)這塊,像登錄的,搜索查詢,下單,還有就是購物車里面的幾個接口都有做過。然后就是對各個業(yè)務(wù)場景進行詳細的場景分析與設(shè)計,確定每個業(yè)務(wù)場景的并發(fā)數(shù),是否需要設(shè)置集合點啊,壓測時間是多長,還有各個業(yè)務(wù)場景的性能指標等等,場景設(shè)計這塊基本上都是老大跟產(chǎn)品哪個一起弄的,我參與的不是太多。
上面把個場景設(shè)置好了之后,提交給我們,我們就是根據(jù)老大設(shè)置好的那些場景編寫了基本的性能測試用例。其實做性能測試,我覺得前期最關(guān)鍵的還是業(yè)務(wù)場景一定要設(shè)計好,后期我們主要的任務(wù)就是準備各自任務(wù)需要用到的一些測試數(shù)據(jù),搭建好測試環(huán)境,還有就是測試腳本設(shè)計與開發(fā),執(zhí)行,并生出測試報告,對于測試結(jié)果我們一般會簡單的做個分析,如果沒有什么問題,基本后期就寫一個性能測試報告。流程大概就是這樣的。
三、你們性能觀察哪些指標,大概指標范圍是怎么樣的
對于指標這塊,業(yè)務(wù)方面的指標主要有:并發(fā)數(shù),90%用戶的平均響應(yīng)時間錯誤率,吞吐量/吞吐率這些,例外還需要關(guān)注服務(wù)器資源的使用情況,像:CPU 的使用率,內(nèi)存的占有率,磁盤IO,網(wǎng)絡(luò)
我們那個項目當時只針對,登錄,搜索查詢,下訂單,購物車相關(guān)接口,支付等業(yè)務(wù)做了些簡單的并發(fā),壓測這塊,指標大概是這樣的:
單基準業(yè)務(wù)并發(fā)測試登錄,注冊,查詢1s 以內(nèi),下訂單,購物車相關(guān)接口,支付2s以內(nèi)
混合業(yè)務(wù)性能:5s 以內(nèi)
響應(yīng)時間:登錄,注冊業(yè)務(wù)<2 之內(nèi)查詢,下訂單,購物車,支付業(yè)務(wù)<3s
充值,提現(xiàn),查看充值日志,查看提現(xiàn)日志業(yè)務(wù)查詢標的, <3s
投標,申請借款<5s
錯誤率:0
吞吐量/吞吐率:200 左右請求/sec
CPU: 80%以內(nèi)
內(nèi)存:80%以內(nèi)
I/O: %util<=80%,%iowait<=20%
%util: 磁盤一秒中有百分之多少的時間用于I/O 操作,
%iowait:磁盤等待處理時間占比
帶寬: <=系統(tǒng)帶寬的30%,無丟包,無延遲,無阻塞
四、性能測試計劃有哪些內(nèi)容
寫過,主要是時間進度安排與工作安排,主要是環(huán)境,測試任務(wù),測試需求,測試方法與策略,測試環(huán)境準備,測試通過的標準
比如說原來我們一個項目性能測試時做了5 天,那我們計劃是,測試策略與用例編寫一天,測試準備需要1 天,測試執(zhí)行2 天,報告總結(jié)1 天。
五、有沒有寫過性能測試報告,具體包括哪些內(nèi)容
性能測試報告,需要每次jmeter 壓測完成的html 報告的數(shù)據(jù)跟nmon 工具監(jiān)控的數(shù)據(jù),整理出一份性能測試報告,性能測試報告,主要包含
1,測試資源(環(huán)境,測試數(shù)據(jù),表里面需要多少數(shù)據(jù),測試工具)
2,測試設(shè)計(測試業(yè)務(wù),測試類型,測試時間,并發(fā)用戶數(shù))
3,測試分析(每一個場景都需要分析)
4,測試結(jié)論(能不能上線,不上線的原因)
5,優(yōu)化和建議
6,測試通過的標準,平均響應(yīng)時間<5s,資源利用率<75%,事務(wù)失敗率<5%
六、什么是內(nèi)存泄漏,什么是內(nèi)存溢出
內(nèi)存泄漏:
是指程序在申請內(nèi)存后,無法釋放已申請的內(nèi)存空間,導(dǎo)致系統(tǒng)無法及時回收內(nèi)存并且分配給其他進程使用。通常少次數(shù)的內(nèi)存無法及時回收并不會到程序造成什么影響,但是如果在內(nèi)存本身就比較少獲取多次導(dǎo)致內(nèi)存無法正常回收時,就會導(dǎo)致內(nèi)存不夠用,最終導(dǎo)致內(nèi)存溢出。
內(nèi)存溢出:OOM
-1. 指程序申請內(nèi)存時,沒有足夠的內(nèi)存供申請者使用1M 實際要占用2M 內(nèi)存,就說分配的內(nèi)存不夠,導(dǎo)致內(nèi)存溢出
-2. 給了你一塊存儲int 類型數(shù)據(jù)的存儲空間,但是你卻存儲long 類型的數(shù)據(jù),
-3. 長期出現(xiàn)內(nèi)存泄漏,導(dǎo)致系統(tǒng)內(nèi)存越用越少,最終導(dǎo)致內(nèi)存不夠用,導(dǎo)致系統(tǒng)崩潰,出現(xiàn)OOM
七、吞吐量與吞吐率跟負載有什么關(guān)系?
吞吐量/率和負載之間的關(guān)系:
①上升階段:吞吐量隨著負載的增加而增加,吞吐量和負載成正比;
②平穩(wěn)階段:吞吐量隨著負載的增加而保持穩(wěn)定,無太大變化或波動;
③下降階段:吞吐量隨著負載的增加而下降,吞吐量和負載成反比;
總結(jié):吞吐量/率干不過負載!!!
八、當你服務(wù)器滿了之后,你們吞吐量和響應(yīng)時間怎么變化的
吞吐量會所有下降,響應(yīng)時間會變長
九、你們吞吐量是多少,響應(yīng)時間是多少,你設(shè)置了多少并發(fā)
登錄:吞吐量大概在13.5/sec,響應(yīng)時間<1s,設(shè)置的并發(fā)數(shù)180 個并發(fā)數(shù)。
十、有沒有做過穩(wěn)定性測試
部分接口有做過穩(wěn)定性測試。具體怎么做的?
穩(wěn)定性測試主要就是看某個業(yè)務(wù)在高并發(fā)情況下是否能持續(xù)穩(wěn)定運行嘛,當時大部分的核心業(yè)務(wù)都有做過穩(wěn)定性的,這個需是把并發(fā)數(shù)設(shè)置為峰值,然后循環(huán)次數(shù)設(shè)置為永遠,例外要
開啟調(diào)度器,調(diào)度器中的持續(xù)時間設(shè)定為3600 秒,讓它持續(xù)壓測1 個小時??聪陆涌诘母黜椥阅苤笜说淖兓?#xff0c;是否在預(yù)期的指標范圍之內(nèi)。
查詢:吞吐量大概在36/sec,響應(yīng)時間<3s,設(shè)置的并發(fā)數(shù)500 個并發(fā)數(shù)。
下單:吞吐量大概在25.6/sec,響應(yīng)時間<3s,設(shè)置的并發(fā)數(shù)350 個并發(fā)。
十一、5000 個人搶購,只能50 個人能搶到,你怎么設(shè)計并發(fā)數(shù)的
并發(fā)數(shù),按群內(nèi)最大人數(shù)計算,利用二八原則,5000*80%=4000,并發(fā)數(shù)的峰值為4000