0.thymeleaf的复习
1.nginx反向代理
- nginx的整体框架
- 访问流程
域名访问->在本地host文件中查找对应ip->找到了访问
找不到->DNS域名解析来解析域名到ip->找到了访问 - 整体配置流程:
- 本机内:
查看域名的映射规则
在host文件中增加gulimall.com->192.168.56.10(默认80端口) - nginx转发:
nginx监听本机80端口
gulimall{server:192.168.56.1:88}
proxy_pass:http://gulimall;
(nginx转发丢失host,需要在nginx转发中加入原host)
(因为需要在网关转发时根据host来转发) - 网关转发
- id: gulimall_host
uri: lb://gulimall-product
predicates:
- Host=**.gulimall.com,gulimall.com
- 服务具体处理
2.压力测试
- 性能提升
数据库性能
应用程序
中间件(nginx-》网关-》tomcat)
操作系统 - 判断应用属于
CPU密集型:大量计算
IO密集型:IO占用量大,内存大,网络流量巨大
3.JVM的GS机制
- 检测性能
minGC花费时间少
FullGC花费时间多(防止其多次进行) - 利用java自带监控
jvisualwml
运行:正在运行
驻留:线程池空闲线程
监视:阻塞的线程(等待锁)
①.性能优化1
- mysql加入索引
默认主键为索引,会增加b+tree索引树,会减少查询时间,增加修改删除增加的时间,因为需要维护索引
可以设置其他为索引,增加索引时间(没有索引只能通过双向链表来查) - 动静分离流程:
- 动静分离
之前:请求得到网页,然后再通过网页请求去获取静态资源
现在:请求得到网页,直接第一步请求nginx就可获得静态资源 - 将static下的文件放入挂载的nginx目录下
/mydata/nginx/html/static
- 配置访问路径
location /static/ {
root /user/share/nginx/html
}
即配置有/static/的访问请求,去html目录下寻找
3.参考之前配置nginx反向代理
location / {
proxy_set_header Host $host;
proxy_pass http://gulimall;
}
gulimall:192.168.56.10:88(服务的网关)
②性能优化2
- GC垃圾回收机制优化
-Xmx1024m -Xms1024m -Xmn512m
调大内存,可以防止老年代和新生代爆的情况 - 三级分页操作
变多次查询数据库为一次数据库(直接从查询结果抽取需要的即可)