工作中對專案壓力測試的一些心得,先自我作乙個小結吧!
(一)巨集觀與微觀相結合
(1)巨集觀層面
即系統的一些關鍵效能指標,如:各程序所佔cpu的百分比、記憶體消耗、網路包量、磁碟io等等,詳細指標列舉如下:名稱
描述 參考值
cpu
useage
cpu 的使用時間百分比。
平均值小於70% p
rocess virtual
memery
size
程序使用的記憶體空間總量,包括物理記憶體和swap記憶體
程序長時間執行後該值不能大幅度的改變,否則是記憶體洩露 d
isk rate
磁碟傳輸速率
一般少於2m/s, 日誌級別太低時硬碟io會是瓶頸。
byte
s trans rate
網路傳送速率
少於200mbps
byte
s receive rate
網路接收速率
少於200mbps p
ages swap in
每秒鐘讀入到物理記憶體中的頁數
長期大於0表示物理記憶體不足 p
ages swap out
每秒鐘寫入頁面檔案頁數
參考上面
context switches rate
每秒鐘在程序或執行緒之間的切換率。
少於5000*cpu個數
interrupt rate
每秒內的裝置中斷數。
該指標代表了本地向cpu引起的本地中斷,例如io埠引起中斷,系統時鐘引起中斷。
乙個巨大的中斷值,同時伴隨著緩慢的系統效能表現,指示存在硬體問題。
測試工具:nmon
(2)微觀層面
這裡是指具體到server程式的邏輯功能模組,包括函式消耗cpu週期、函式呼叫次數等資源占用情況,以及系統核心哪一部分最忙等。
測試工具:oprofile、gprof
(二)黑盒與白盒相結合
(1)黑盒測試
我們目前的壓力測試程式,其實是歸於黑盒測試範疇的,它模擬玩家的一些行為,應用具體專案的實際協議與被測遊戲server通訊,通過同時產生大規模機械人,來模擬與實際運營中相似的場景。這裡編寫的測試用例,其功能就是要盡可能真實地模擬client的功能,並能方便的配置化和部署client行為;
(2)白盒測試
我理解的白盒測試包括兩部分,一是單元測試,它能有效地解決bug回歸測試的問題,二是**覆蓋率檢查,它能有效檢查到每個函式分支的執**況。前者可借助業界成熟的自動化測試框架,如:cppunit、gtest;後者也有許多第三方工具,比較方便的有gnu自帶的gcov,只要在編譯程式時,加入-fprofile-arcs -ftest-coverage編譯選項即可。
如果要用一句話來概括兩者的話,那就是:
白盒測試能極大的保障程式邏輯功能層面的正確性(正常與異常流程均能檢測到),而黑盒測試則能有效保障程式執行的穩定性。
Linux伺服器iops效能測試 iozone
wget 2.工具安裝 執行命令 rpm ivh iozone 3 487.i386.rpm 異常 libc.so.6 is needed by iozone 3 487.i386 yum install glibc.i686 3.自動模式測試iops 執行命令 opt iozone bin ioz...
Linux 高效能伺服器程式框架
伺服器解構主要分為如下三個主要模組 1 i o處理單元。接收客戶端傳送的資料都屬於i o處理單元。2 邏輯單元。接收到資料之後進行的一些處理都屬於邏輯單元。3 儲存單元。如下圖所示 伺服器程式設計框架 1 c s模型 c就是客戶端,s就是伺服器。所以這個模型也稱客戶端 伺服器模型。c s模型如下圖所...
sysbench測試伺服器效能
sysbench目前已經有0.5的版本,不過最普遍使用的依舊是0.4.12,所以接下來我們會以0.4.12這個版本作為測試 step2 執行測試指令碼 請不要直接貼上此指令碼到你機器上執行,除非你知道它在做什麼 root dbserver data cat sysbench all.sh bin b...