学会调优

大部分Web服务都是一个黑盒应用!
大部分开发者对其所开发的应用,关于性能方面知之甚少!

性能指标:
JavaWeb服务: CPU/内存/缓存/IO/线程/JVM/GC/Request
数据库: 慢SQL/内存/CPU/IO/索引/死锁
Redis: 热点Key/大Key/IO/TPS/QPS

大部分java web项目部署之后像个黑盒一样,只知道CRUD,对服务内部线程、IO、内存、CPU、Cache等等一概不知,当出现bug甚至是内存溢出导致宕机,叹为时晚矣!
有一套可视化性能监控,能随时看到服务的情况非常有必要!

java web服务: Thred、IO、Memory、GC、JVM、http.request 等等都需要能监控到
1.springboot指标暴露: 
        - spring-boot-starter-actuator
        - micrometer-registry-prometheus
2.指标采集: Prometheus
3.可视化: Grafana

mysql: 监控慢sql、占用内存大的、没走索引的、甚至是锁表、有无死锁情况  -> druid

redis: 热点key,出入带宽/速率,大key、IO  -> RDM