通用后端设计-性能优化篇

15 篇文章 0 订阅
10 篇文章 0 订阅
本文分享了后端开发中的性能优化技巧,包括合理利用缓存减轻数据库压力、异步处理耗时任务、批量操作提高效率、提前加载提升响应速度、使用队列管理和多线程并发,以及数据库设计和监控系统的应用。
摘要由CSDN通过智能技术生成

背景

从事后端开发也有几年时间了,正好总结下后端开发的一些经验,本文主要策重于性能优化方向

缓存

合理的缓存使用,能够大大降低数据库的压力,命中缓存的话,可以大幅的减少查询时间,缓存的话,可以使用本地缓存,也可以使用redis这种分布式的缓存。使用合适的缓存失效策略,根据业务特点和数据更新频率选择合适的缓存过期时间或基于事件驱动的更新策略。

异步

有些业务逻辑属于耗时操作,并不需要立即返回结果,可以异步操作,第一种是JAVA自带的异步操作,如CompletableFuture,还是一种就是把数据保存在存储环境内。如数据库和消息队列里,慢慢处理,之后再回调。

批量操作

优化批量操作的执行逻辑,合理设置批量处理的数据量和执行频率,避免对系统造成过大的负载压力。
使用批量操作可以减少数据库交互次数,提高数据处理效率,但要注意不要过度使用,避免一次性处理过多数据导致系统负载过高。

提前加载

对于周期性的任务或数据预热,可以使用定时任务或预加载机制,在系统低峰期提前加载数据,提高系统响应速度和性能稳定性。

队列

对于具有优先级的任务,可以使用优先级队列或者按照任务类型分配不同的队列进行处理,确保高优先级任务能够及时得到处理。
使用消息队列可以实现解耦和异步处理,提高系统的灵活性和可维护性。

多线程

一个请求过来,如果多个业务操作之间没有依赖关系,可以并行的去处理,可以压缩业务处理的时间

数据库的设计

结合业务需求和数据库特性,采用合适的数据库分库分表策略,减少单一数据库的压力,提高数据库的并发处理能力和数据存储容量。
使用数据库的分区表功能,根据数据的时间或者业务特点进行分区,提高查询效率和数据存储管理的灵活性

监控

建立完善的监控系统,监测系统的性能指标、资源利用率和服务质量,及时发现和解决系统性能问题,保障系统的稳定性和可用性。
使用分布式链路追踪技术,对系统的各个组件进行监控和调优,发现系统瓶颈和性能瓶颈,及时进行优化和改进

减少资源的争抢

减少锁的使用,大部分情况,数据是最终一致性就可以

合理的负载策略

这个通常不用考虑,如果是k8s环境内,k8s自己有负载策略

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wending-Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值