性能測試初期需要做的準備
就最近遇到的坑,自己總結的一些準備事項
1. 收集各個服務器的配置信息,幾個CPU,多少G內存,多大的硬盤,更詳細一點的可以將CPU主頻,硬盤是否固態都了解清楚
2. 了解整個系統的架構,是否雙機,有無反向代理,負載均衡的配置
3. 了解一下系統的各個端配置的連接數,
中間件tomcat的最大連接數,空閑連接數
war包中的連接池的初始連接數,最大連接數
DB的最大連接數
4. 要開始運行了,將各個服務器的硬盤使用情況看一下,清一下log日誌等
1的目的是為了多次性能測試後,對服務器能處理的能力有一個大致的了解
2的目的是為了有失敗的時候,考慮到一些架構上的問題,思考的範圍加大
3的目的是不要以為別人的連接數很小而導致隊列資源等待,而你花很長時間去定位,要事先了解系統的一些配置
4的目的是硬盤滿了,整個壓測TPS上不去,你看系統資源等情況都不太看得出來,程序也照常運行,很容易白費功夫,分析了半天死在準備上
各個環節用到的工具或者命令
1.
a. 如果服務器是linux
uname -a
cat /etc/issue
cat /etc/issue | grep Linux
cat /proc/cpuinfo
cat /proc/meminfo
df -H
b. 如果服務器是Windows
我的電腦右擊或者設備管理器查看
看到在線上運行的App Node, 雙機配置不一致,一個2核一個4核,用1:1的負載在跑著;
也看到一些項目,CPU核數一樣,主頻赫茲數不一樣,在跑著;
後期定位問題發現一個App資源占用率高,一個低的
2. 畫出系統拓補圖
3. 查看連接數
如果是tomcat,在server.xml中可以查看,Connector
如果是war包中的連接池,一般是對DB的連接池,找開發問他配哪兒了,一般config文件
如果是DB中配置的連接數,一般這邊很少配置了,因為war包中有配置對DB的連接池,SQLserver中select @@MAX_CONNECTIONS SELECT * FROM sys.configurations;
4. Linux系統用df -H 或者windows直接登錄或者遠程登錄查看
性能測試初期需要做的準備