谷粒商城6:nginx反向代理与性能优化

0.thymeleaf的复习

谷粒商城6:nginx反向代理与性能优化_第1张图片

1.nginx反向代理

谷粒商城6:nginx反向代理与性能优化_第2张图片

  • nginx的整体框架
    谷粒商城6:nginx反向代理与性能优化_第3张图片
  • 访问流程
    域名访问->在本地host文件中查找对应ip->找到了访问
    找不到->DNS域名解析来解析域名到ip->找到了访问
  • 整体配置流程:
  1. 本机内:
    查看域名的映射规则
    在host文件中增加gulimall.com->192.168.56.10(默认80端口)
  2. nginx转发:
    nginx监听本机80端口
    gulimall{server:192.168.56.1:88}
    proxy_pass:http://gulimall;
    (nginx转发丢失host,需要在nginx转发中加入原host)
    (因为需要在网关转发时根据host来转发)
  3. 网关转发
 - id: gulimall_host
          uri: lb://gulimall-product
          predicates:
            - Host=**.gulimall.com,gulimall.com
  1. 服务具体处理

2.压力测试

谷粒商城6:nginx反向代理与性能优化_第4张图片

  • 性能提升
    数据库性能
    应用程序
    中间件(nginx-》网关-》tomcat)
    操作系统
  • 判断应用属于
    CPU密集型:大量计算
    IO密集型:IO占用量大,内存大,网络流量巨大

3.JVM的GS机制

谷粒商城6:nginx反向代理与性能优化_第5张图片

  • 检测性能
    minGC花费时间少
    FullGC花费时间多(防止其多次进行)
  • 利用java自带监控
    jvisualwml
    运行:正在运行
    驻留:线程池空闲线程
    监视:阻塞的线程(等待锁)

①.性能优化1

谷粒商城6:nginx反向代理与性能优化_第6张图片

  • mysql加入索引
    默认主键为索引,会增加b+tree索引树,会减少查询时间,增加修改删除增加的时间,因为需要维护索引
    可以设置其他为索引,增加索引时间(没有索引只能通过双向链表来查)
  • 动静分离流程:
  1. 动静分离
    之前:请求得到网页,然后再通过网页请求去获取静态资源
    现在:请求得到网页,直接第一步请求nginx就可获得静态资源
  2. 将static下的文件放入挂载的nginx目录下
/mydata/nginx/html/static
  1. 配置访问路径
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
    调大内存,可以防止老年代和新生代爆的情况
  • 三级分页操作
    变多次查询数据库为一次数据库(直接从查询结果抽取需要的即可)

你可能感兴趣的:(谷粒商城,性能优化,jvm,java)