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的调优
相关推荐
慧一居士29 分钟前
web 系统对接飞书三方登录完整步骤实战使用示例
架构·系统架构
CodeWithMe2 小时前
【Note】《Kafka: The Definitive Guide》第11章:Stream Processing
分布式·kafka
蝸牛ちゃん3 小时前
DSSA(Domain-Specific Software Architecture)特定领域架构
架构·系统架构·软考高级
麦兜*4 小时前
【SpringBoot 】Spring Boot OAuth2 六大安全隐患深度分析报告,包含渗透测试复现、漏洞原理、风险等级及完整修复方案
java·jvm·spring boot·后端·spring·系统架构
落霞的思绪5 小时前
使用云虚拟机搭建hadoop集群环境
大数据·hadoop·分布式
Bug退退退12315 小时前
RabbitMQ 高级特性之事务
java·分布式·spring·rabbitmq
CodeWithMe16 小时前
【Note】《Kafka: The Definitive Guide》第四章:Kafka 消费者全面解析:如何从 Kafka 高效读取消息
分布式·kafka
腾讯云开发者19 小时前
如何设计一个支付系统:核心交易系统架构丨架构师系列文集
系统架构
Gauss松鼠会19 小时前
GaussDB应用场景全景解析:从金融核心到物联网的分布式数据库实践
数据库·分布式·物联网·金融·database·gaussdb
@Jackasher1 天前
Redisson是如何实现分布式锁的?
分布式