19 压测和常用的接口优化方案

高并发的平台应用,项目上线前离不开一个重要步骤就是压测,压测对于编码中的资源是否问题的排查,性能的调优都是离不开的。测试还要做测试报告,出具了测试报告给到运维团队才能上线。

压测的测试报告主要有以下几个方面:1.响应时间 2.不同的线程压测的错误率,也叫失败率3.吞吐率(TPS)4压测情况下服务器的其他性能指标。如:网络层、代理(nginx)、CPU、缓存中间件的指标等。这些需要看具体的项目需求。

专业的测试使用loadrunner测试的结果非常全面,也可以根据具体的业务写脚本测试。一般的排查资源释放问题,一些性能指标使用jmeter即可。开发自测使用apache ab测试也可以

测试的性能如果不达标,我们性能优化时一般的解决方案如下:

  1. 慢sql的监控,有些sql占用大量资源会拖垮整个系统的性能,尽量减少慢sql
  2. 异步操作。有些短时间爆发的请求使用mq削峰。
  3. 在读多写少的场景使用缓存
  4. 预热。预热一般是知道未来将要发生的情况提前把数据放入缓存
  5. 适当的使用线程池
  6. 有些资源获取比较慢的情况下使用回调的方式,不使用阻塞或等待执行完成再给反馈
  7. 加锁的场景避免粗粒度的锁。比如使用concurrentHashMap的分段锁性能就会比直接加锁性能好很多
  8. 数据库加索引
  9. sql语句的优化
  10. 程序本身的优化
  11. 高并发的情况下,还要考虑传输内容的压缩问题
  12. JVM的调优
相关推荐
caibixyy5 小时前
Spring Boot 整合 Redisson 实现分布式锁:实战指南
spring boot·分布式·后端
求你不要出Bug了8 小时前
RokcetMQ事务消息详解
分布式·rocketmq·事务消息
lypzcgf9 小时前
Coze源码分析-资源库-编辑插件-后端源码-核心技术与总结
系统架构·插件·coze·coze源码分析·智能体平台·ai应用平台·agent平台
Vahala0623-孔勇11 小时前
Redisson分布式锁源码深度解析:RedLock算法、看门狗机制,以及虚拟线程下的锁重入陷阱与解决
java·开发语言·分布式
疯癫的老码农12 小时前
【小白入门docker】创建Spring Boot Hello World应用制作Docker镜像并运行
java·spring boot·分布式·docker·微服务
谱写秋天12 小时前
软考-系统架构设计师 NoSQL数据库详细讲解
数据库·系统架构·软考架构师
没有bug.的程序员13 小时前
分布式架构初识:为什么需要分布式
java·分布式·架构·php
Vahala0623-孔勇13 小时前
分布式ID生成终极方案:从Snowflake的时钟回拨到Leaf-segment的ZK锁协调
分布式
Lansonli16 小时前
大数据Spark(六十四):Spark算子介绍
大数据·分布式·spark
做运维的阿瑞17 小时前
使用 Python 打造一个轻量级系统信息查看器
开发语言·后端·python·系统架构