java 应用的消耗
- 主要基于内存操作,qps 会很高
- 但是为什么 qps 有时候很低呢?
- 网络消耗
- 业务需要连接数据库等,就需要网络传输
- 最大连接数
- 请求处理线程数
- 内存
- cpu
- 网络消耗
MySQL 的消耗
- 读取数据和写日志都有缓存+磁盘顺序写,即对内存和磁盘进行IO操作
- 需要比较好的服务器,最好用 ssd
- 8v16g-》1-2k
- 16v32g -》 2-3k
压测
压测指标
- qps
- query per seconds,每秒请求处理量
- 单一服务可以看成 qps
- tps
- transaction per seconds,每秒事务处理量
- 大系统可以看成是 tps
- iops
- io随机并发指标,每秒可以执行的随机io读写请求量
- 吞吐量
- 每秒磁盘存储可以读写多少字节的数据量
- latency
- 磁盘读写数据延迟
- cpu 负载
- 网络负载
- 内存负载
具体查看
top
load average
: 最近 1min 5min 15min cpu负载- 和 cpu核心数量 1:1 以上时,即过载
mem
: 内存,过 80% 就不太好
dstat
: 查看磁盘 io 情况dstat -d
: 查看存储的 io读写 吞吐量dstat -r
: 查看读写 iops ,即随机磁盘读写分别每秒多少次dstat -n
: 每秒网卡接收或者发送的流量