电商项目优化测试

电商项目性能优化测试:

在第一次测试中,20000个请求的响应结果:
在这里插入图片描述
在这里插入图片描述
一、第一种优化方案,让product服务占更多的内存。
在这里插入图片描述
二、考虑影响性能的原因有哪些?
  数据库、应用程序(代码)、中间件(nginx、网关、tomcat)、网络IO、和操作系统方面。
  首先考虑自己的应用程序是CPU密集型还是IO密集型
    CPU密集型: 可以增加多台服务器来并行处理请求。
    IO密集型: 换固态硬盘、加内存条、使用各种缓存技术。

三、调优出发点:JVM
  fullGC要比YoungGC慢100倍因此要避免进行fullGC。
   因此在调优时,需要观察JVM中堆的新生代和老年代的变化。

四、使用jvisualvm监控应用堆内存和CPU的使用情况
1、
在这里插入图片描述
也可以通过安装visualGC这个插件来监控垃圾回收的过程


2、不能忽略中间件对性能的影响:中间件越多性能损失越大
  对于用户发出的请求,是通过nginx转到gateway再负载均衡后分配到对应的微服务模块 (里边包含着tomcat) 上。

可以通过增加中间件的吞吐量,以及购买更好的网线进行中间传输。

3、业务方面:

DB:  MySQL优化,通过给指定的查询键添加索引。
模板的渲染速度:  开启thymeleaf 的缓存。
静态资源:  通过采用nginx来保存静态资源,使得浏览器发出的静态资源的请求,让nginx直接处理,减轻tomcat的压力。
业务逻辑:  业务逻辑对于性能的影响较大,例如在查询三级分类时,可以首先查出所有的分类信息,减少对数据库的访问,进而提升性能,也可以使用Redis来预存数据。
jvm调优方面:  通过调节堆内存的大小 -Xmx1024m表示最大内存为1024m,-Xms1024m表示初始内存为1024m,-Xmn512m表示新生代的大小为512m。 尽量降低fullGC,因为fullGC的耗时是youngGC的100倍。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值