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的调优
相关推荐
jiayong2320 小时前
多子系统架构下的Nginx部署策略与最佳实践
运维·nginx·系统架构
晓风残月淡21 小时前
系统架构设计基础知识:软件架构风格
系统架构·软件架构风格
bigdata-rookie1 天前
Spark 部署模式
大数据·分布式·spark
蒋士峰DBA修行之路1 天前
实验二十二 GaussDB分布式场景调优
分布式·gaussdb
青靴1 天前
轻量级 CI/CD 实战(三):Kafka消费者Docker容器化部署
分布式·docker·kafka
galaxyffang1 天前
RocketMQ 为什么性能不如 Kafka?
分布式·kafka·rocketmq
sheji34161 天前
【开题答辩全过程】以 基于Spark的药品库存可视化分析系统为例,包含答辩的问题和答案
大数据·分布式·spark
A尘埃1 天前
Spark基于内存计算的数据处理
大数据·分布式·spark
坏孩子的诺亚方舟1 天前
FPGA系统架构设计实践8_复位参考设计
fpga开发·系统架构·复位
渣渣盟1 天前
Flink分布式文件Sink实战解析
分布式·flink·scala·1024程序员节