就最近遇到的坑,自己總結(jié)的一些準(zhǔn)備事項

  1. 收集各個服務(wù)器的配置信息,幾個CPU,多少G內(nèi)存,多大的硬盤,更詳細(xì)一點的可以將CPU主頻,硬盤是否固態(tài)都了解清楚

  2. 了解整個系統(tǒng)的架構(gòu),是否雙機(jī),有無反向代理,負(fù)載均衡的配置

  3. 了解一下系統(tǒng)的各個端配置的連接數(shù),

  中間件tomcat的最大連接數(shù),空閑連接數(shù)

  war包中的連接池的初始連接數(shù),最大連接數(shù)

  DB的最大連接數(shù)

  4. 要開始運行了,將各個服務(wù)器的硬盤使用情況看一下,清一下log日志等

  1的目的是為了多次性能測試后,對服務(wù)器能處理的能力有一個大致的了解

  2的目的是為了有失敗的時候,考慮到一些架構(gòu)上的問題,思考的范圍加大

  3的目的是不要以為別人的連接數(shù)很小而導(dǎo)致隊列資源等待,而你花很長時間去定位,要事先了解系統(tǒng)的一些配置

  4的目的是硬盤滿了,整個壓測TPS上不去,你看系統(tǒng)資源等情況都不太看得出來,程序也照常運行,很容易白費功夫,分析了半天死在準(zhǔn)備上

  各個環(huán)節(jié)用到的工具或者命令

  1.

  a. 如果服務(wù)器是linux

  uname -a

  cat /etc/issue

  cat /etc/issue | grep Linux

  cat /proc/cpuinfo

  cat /proc/meminfo

  df -H

  b. 如果服務(wù)器是Windows

  我的電腦右擊或者設(shè)備管理器查看

  看到在線上運行的App Node, 雙機(jī)配置不一致,一個2核一個4核,用1:1的負(fù)載在跑著;

  也看到一些項目,CPU核數(shù)一樣,主頻赫茲數(shù)不一樣,在跑著;

  后期定位問題發(fā)現(xiàn)一個App資源占用率高,一個低的

  2. 畫出系統(tǒng)拓補(bǔ)圖

  3. 查看連接數(shù)

  如果是tomcat,在server.xml中可以查看,Connector

  如果是war包中的連接池,一般是對DB的連接池,找開發(fā)問他配哪兒了,一般config文件

  如果是DB中配置的連接數(shù),一般這邊很少配置了,因為war包中有配置對DB的連接池,SQLserver中select @@MAX_CONNECTIONS SELECT * FROM sys.configurations;

  4.  Linux系統(tǒng)用df -H 或者windows直接登錄或者遠(yuǎn)程登錄查看

  5. 如果是查詢,請插入一定量的數(shù)據(jù)再壓測;如果是新增,新增中一般也有查詢判斷,比如注冊中,手機(jī)號不能存在等,最好也要先插入一定的數(shù)據(jù)。如果新增之前不需要查詢,比如log入庫,可以不用準(zhǔn)備數(shù)據(jù)。

  就最近遇到的坑,自己總結(jié)的一些準(zhǔn)備事項

  1. 收集各個服務(wù)器的配置信息,幾個CPU,多少G內(nèi)存,多大的硬盤,更詳細(xì)一點的可以將CPU主頻,硬盤是否固態(tài)都了解清楚

  2. 了解整個系統(tǒng)的架構(gòu),是否雙機(jī),有無反向代理,負(fù)載均衡的配置

  3. 了解一下系統(tǒng)的各個端配置的連接數(shù),

  中間件tomcat的最大連接數(shù),空閑連接數(shù)

  war包中的連接池的初始連接數(shù),最大連接數(shù)

  DB的最大連接數(shù)

  4. 要開始運行了,將各個服務(wù)器的硬盤使用情況看一下,清一下log日志等

  1的目的是為了多次性能測試后,對服務(wù)器能處理的能力有一個大致的了解

  2的目的是為了有失敗的時候,考慮到一些架構(gòu)上的問題,思考的范圍加大

  3的目的是不要以為別人的連接數(shù)很小而導(dǎo)致隊列資源等待,而你花很長時間去定位,要事先了解系統(tǒng)的一些配置

  4的目的是硬盤滿了,整個壓測TPS上不去,你看系統(tǒng)資源等情況都不太看得出來,程序也照常運行,很容易白費功夫,分析了半天死在準(zhǔn)備上

  各個環(huán)節(jié)用到的工具或者命令

  1.

  a. 如果服務(wù)器是linux

  uname -a

  cat /etc/issue

  cat /etc/issue | grep Linux

  cat /proc/cpuinfo

  cat /proc/meminfo

  df -H

  b. 如果服務(wù)器是Windows

  我的電腦右擊或者設(shè)備管理器查看

  看到在線上運行的App Node, 雙機(jī)配置不一致,一個2核一個4核,用1:1的負(fù)載在跑著;

  也看到一些項目,CPU核數(shù)一樣,主頻赫茲數(shù)不一樣,在跑著;

  后期定位問題發(fā)現(xiàn)一個App資源占用率高,一個低的

  2. 畫出系統(tǒng)拓補(bǔ)圖

  3. 查看連接數(shù)

  如果是tomcat,在server.xml中可以查看,Connector

  如果是war包中的連接池,一般是對DB的連接池,找開發(fā)問他配哪兒了,一般config文件

  如果是DB中配置的連接數(shù),一般這邊很少配置了,因為war包中有配置對DB的連接池,SQLserver中select @@MAX_CONNECTIONS SELECT * FROM sys.configurations;

  4.  Linux系統(tǒng)用df -H 或者windows直接登錄或者遠(yuǎn)程登錄查看

  5. 如果是查詢,請插入一定量的數(shù)據(jù)再壓測;如果是新增,新增中一般也有查詢判斷,比如注冊中,手機(jī)號不能存在等,最好也要先插入一定的數(shù)據(jù)。如果新增之前不需要查詢,比如log入庫,可以不用準(zhǔn)備數(shù)據(jù)。