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 负载
  • 网络负载
  • 内存负载

具体查看

  1. top
    1. load average : 最近 1min 5min 15min cpu负载
      1. 和 cpu核心数量 1:1 以上时,即过载
    2. mem : 内存,过 80% 就不太好
  2. dstat : 查看磁盘 io 情况
    1. dstat -d: 查看存储的 io读写 吞吐量
    2. dstat -r: 查看读写 iops ,即随机磁盘读写分别每秒多少次
    3. dstat -n: 每秒网卡接收或者发送的流量