web的性能优化,首先来看,web应用会在哪些地方遇到性能瓶颈。这里我们先来看一下web的访问流程
用户-->输入网址-->域名解析(DNS)--> 简历网络连接(带宽有影响,三次握手[TCP/IP])-->web服务器(NGINX,Apache)-->应用服务器-->servlet/filter/MVC框架等-->对应的XX控制器-->建立数据库连接-->发送SQL指令-->数据库执行SQL-->返回给XX服务器-->XX服务处理业务逻辑-->生成响应数据-->返回给浏览器-->渲染成前端页面(web优化渲染)
一个web请求访问有如此多的步骤,当系统的访问量上去之后,这里的大部分步骤都可能会出现性能瓶颈。
性能优化的法则:
1:木桶原理 :优先对短板进行补齐
2:IO各性能分析 :CPU --> 一二三级缓存 --> 内存 --> SSD 硬盘 --> 普通硬盘
3:数据库优化漏斗法则
3.1 减少磁盘访问,避免全表扫描 (建立索引,批处理,缓存)
3.2 返回更少的数据 (分页,避免使用 *)
3.3 减少交互次数 (数据库批处理,请求合并)
3.4 减少CPU及内存开销 (预编译)
3.5 增加资源(读写分离)