美文网首页程序员技术栈进击的java程序员互联网科技
常用的后端性能优化六种方式:缓存化+服务化+异步化等

常用的后端性能优化六种方式:缓存化+服务化+异步化等

作者: 0c6545a942bc | 来源:发表于2019-04-10 22:36 被阅读1次

性能优化专题

  1. 前端性能优化
  2. 数据库性能优化
  3. jvm和多线程优化
  4. 架构层面优化
  5. 缓存性能优化

常用的后端性能优化六大方式

1,缓存化
缓存可以称的上是性能优化的利器,使用缓存时需要考虑缓存命中率、缓存更新、数据一致性、缓存穿透及雪崩、Value过大等问题,可以通过mutiGet将多次请求合并一次、异步访问等方式来提升缓存读取的性能。

2,硬件升级
硬件问题对性能的影响不容忽视。

举一个例子:一个DB集群经常有慢SQL报警,业务排查下来发现SQL都很简单,该做的索引优化也都做了。后来DBA同学帮忙定位到问题是硬件过旧导致,将机械硬盘升级成固态硬盘之后报警立马消失了,效果立竿见影!

3,业务逻辑优化

业务逻辑优化经常会容易被忽略,但效果却往往比数据库调优、JVM调优之类的来的更明显。

举一个例子,12306春运抢火车票的场景,由于访问的人多,用户点击“查票”之后系统会非常卡,进度条非常慢,作为用户,我们会习惯性的再去点“查票”,可能会连续点个好几次。假设平均一个用户点5次,则后端系统负载就增加了5倍!而其中80%的请求是重复请求。这个时候我们可以通过产品逻辑的方式来优化,比如,在用户点击查询之后将“按钮置灰”,或者通过JS控制xx秒只能只能提交一次请求等,有效的拦截了80%的无效流量。

4,服务化

做服务化最基础的是按业务做服务拆分,避免跨业务间的互相影响,数据和服务同时拆分。同一个业务内部我们还按计算密集型/IO密集型的服务拆分、C端/B端服务拆分、核心/非核心服务拆分、高频服务单独部署等原则做拆分。

5,异步化

异步化可以利用线程池、消息队列等方式实现。

使用线程池的时候一定要注意核心参数的设置,可以通过监控工具去观测实际创建、活跃、空闲的线程数,结合CPU、内存的使用率情况来做线程池调优。

另一种是通过NIO实现异步化,一切网络IO皆可异步:RPC框架、Servlet 3.0提供的异步技术、Apache HttpAsyncClient、缓存异步接口等等。

6,利用搜索引擎

复杂查询以及一些聚合计算不适合在数据库中做,可以利用搜索引擎来实现,另外搜索引擎还可以帮我们很好的解决跨库、跨数据源检索的场景。

-end-

相关文章

  • 常用的后端性能优化六种方式:缓存化+服务化+异步化等

    性能优化专题 前端性能优化 数据库性能优化 jvm和多线程优化 架构层面优化 缓存性能优化 常用的后端性能优化六大...

  • Java常用的后端性能优化六种方式:缓存化+服务化+异步化等

    01. 缓存化 缓存可以称的上是性能优化的利器,使用缓存时需要考虑缓存命中率、缓存更新、数据一致性、缓存穿透及雪崩...

  • 第6章 异步化与缓存原则

    第6章 异步化与缓存原则 系统性能相关的核心措施 异步化 缓存 6.1 业务流程异步化 6.2 数据库事务异步化 ...

  • 0 - 怎么做服务的高性能

    服务高性能 服务的性能优化,永远离不开以下几个点: 空间换时间 同步换异步 数据结构和算法 并发 池化 优化IO ...

  • Web进阶 | 构建高可靠、高性能的Web应用

    功能 -> 性能✔ -> 智能 可靠性:可扩展性、服务降级、负载均衡、灰度性能:缓存、并发、池化、异步 一、可靠性...

  • HTTP缓存详解

    除 HTTP 缓存之外,Web 性能优化还有很多其他途径,比如预加载和预渲染、脚本异步载入等 缓存的原因 减少服务...

  • 每周阅读(8/22/2016)

    Redis消息队列性能测试及知识点整理还是Redis入门 从优化性能到应对峰值流量:微博缓存服务化的设计与实践微博...

  • Http缓存机制

    原文地址:LoveDev Android本地持久化和性能优化离不开Http缓存,但是你真的了解其中的机制吗? 缓存...

  • Serverless

    BaaS:后端服务化,例如CDN服务、对象存储服务、日志服务、云监控、云数据库、消息队列等FaaS:函数服务化,即...

  • django页面静态化和缓存小结

    写在前面 基础的学了页面静态化和缓存,这篇文章来总结一下。 页面静态化和页面数据缓存 对网站本身性能的优化,减少数...

网友评论

    本文标题:常用的后端性能优化六种方式:缓存化+服务化+异步化等

    本文链接:https://www.haomeiwen.com/subject/lbyaiqtx.html