就最近遇到的坑,自己总结的一些准备事项

  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直接登录或者远程登录查看

  5. 如果是查询,请插入一定量的数据再压测;如果是新增,新增中一般也有查询判断,比如注册中,手机号不能存在等,最好也要先插入一定的数据。如果新增之前不需要查询,比如log入库,可以不用准备数据。

  就最近遇到的坑,自己总结的一些准备事项

  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直接登录或者远程登录查看

  5. 如果是查询,请插入一定量的数据再压测;如果是新增,新增中一般也有查询判断,比如注册中,手机号不能存在等,最好也要先插入一定的数据。如果新增之前不需要查询,比如log入库,可以不用准备数据。