性能优化入门--记录一次并发数从8到100的过程

背景

目前在弄的一个项目是一个由spring cloud搭建的微服务项目。项目仍然处于开发阶段,但是在做单元测试的时候就发现了一些接口响应速度比较。由于项目数据就是开发时的测试数据,量是非常小的,只能证明我们代码写的是非常烂的。整体的业务设计也是非常有问题的,

下面介绍几个优化的点

问题一,线程池

在我做压力测试的时候发现并发量一到某个较低的值的时候,好像是8。程序就无法运行了。 最终定位到的原因是线程池数量过低。 修改线程池之后就可以正常运行了。

 datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://*******?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: 1111
    password: 11111
    # Druid StatViewServlet配置
    druid:
      stat-view-servlet:
        # 默认true 内置监控页面首页/druid/index.html
        enabled: true
        url-pattern: /druid/*
        # 允许清空统计数据
        reset-enable: true
        login-username: zhfw
        login-password: zhfw
        # IP白名单 多个逗号分隔
        allow:
        # IP黑名单
        deny:
      filter:
        stat:
          # 显示慢sql 默认当超过3秒显示
          log-slow-sql: true
          slow-sql-millis: 100
      max-active: 200
      initial-size: 20
      min-idle: 20
      max-wait: 6000

问题二, 代码效率低。

代码中有大量的For循环去执行sql语句。这种是比较耗时间的。

问题三, tomcat最大连接数配置过低。

在这里插入图片描述

问题四, 请求头过大。

造成服务器崩溃
在这里插入图片描述

问题五: 一个接口中有大量的feign调用。

这个就只能通过 将一些基本数据如字典表,用户信息,缓存到redis中。 减少feign调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值