文章 2024-01-08 来自:开发者社区

后端接口性能优化分析

事实上,当决定进行这个后端接口分析专栏部分的时候,我是低估了工作量的,因为以我当时的认知,并没有这么多的内容,随着不断地发现新的知识点,不断地调研,不断地总结,最终,一个适合我目前经验的后端接口优化篇幅就完成了。总的来说,当完成了这部分的时候,我总体上对知识有了一个更加全面的了解,将很多的知识融汇贯通了起来,形成了一个体系,这也是我最大的收获!下面主要以三个思路来介绍,分别是 定位问题&....

文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-数据库优化(下)

后端接口性能优化分析-数据库优化(中):https://developer.aliyun.com/article/1413678Inner join 、left join、right joinInner join 、left join、right join,优先使用Inner join,如果是left join,左边表结果尽量小Inner join 内连接,在两张表进行连接查询时,只保留两张表中....

后端接口性能优化分析-数据库优化(下)
文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-数据库优化(中)

后端接口性能优化分析-数据库优化(上):https://developer.aliyun.com/article/1413677索引列上有计算当我们用主键做条件时,走索引了:而当id列上面有计算,比如:可以看到走了全表扫描索引列上有函数有时候我们在某条sql语句的查询条件中,需要使用函数,比如:截取某个字段的长度:有没有发现,在使用该函数之后,该sql语句竟然走了全表扫描,索引失效了字段类型不同....

后端接口性能优化分析-数据库优化(中)
文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-数据库优化(上)

常见思路15.数据库优化索引提到接口优化,相信最直接的就是会想到添加索引。没错,添加索引就是成本最小的优化,而且一般优化效果都很不错。索引优化这块的话,一般从这几个维度去思考:你的SQL加索引了没?你的索引是否真的生效?你的索引建立是否合理?SQL没加索引我们开发的时候,容易疏忽而忘记给SQL添加索引。所以我们在写完SQL的时候,就顺手查看一下 explain执行计划。explain selec....

后端接口性能优化分析-数据库优化(上)
文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-程序结构优化(下)

后端接口性能优化分析-程序结构优化(中):https://developer.aliyun.com/article/141367211.压缩传输内容压缩传输内容,传输报文变得更小,因此传输会更快啦。10M带宽,传输10k的报文,一般比传输1M的会快呀。打个比喻,一匹千里马,它驮着100斤的货跑得快,还是驮着10斤的货物跑得快呢?再举个视频网站的例子:如果不对视频做任何压缩编码,因为带宽又是有限的....

后端接口性能优化分析-程序结构优化(下)
文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-程序结构优化(中)

后端接口性能优化分析-程序结构优化(上):https://developer.aliyun.com/article/1413671锁分段此外,为了减小锁的粒度,比较常见的做法是将大锁:分段。在java中ConcurrentHashMap,就是将数据分为16段,每一段都有单独的锁,并且处于不同锁段的数据互不干扰,以此来提升锁的性能。class ConcurrentHashMap<K, V&am...

后端接口性能优化分析-程序结构优化(中)
文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-程序结构优化(上)

常见思路8.锁粒度避免过粗synchronized在高并发场景,为了防止超卖等情况,我们经常需要加锁来保护共享资源。但是,如果加锁的粒度过粗,是很影响接口性能的。什么是加锁粒度呢?其实就是就是你要锁住的范围是多大。比如你在家上卫生间,你只要锁住卫生间就可以了吧,不需要将整个家都锁起来不让家人进门吧,卫生间就是你的加锁粒度。不管你是synchronized加锁还是redis分布式锁,只需要在共享临....

后端接口性能优化分析-程序结构优化(上)
文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-多线程优化(下)

后端接口性能优化分析-多线程优化(中):https://developer.aliyun.com/article/1413669缓存雪崩描述:缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。和缓存击穿不同的是,缓存击穿是并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。解决方案1)缓存数据的过期时间设置随机,防止同一时间大量数....

后端接口性能优化分析-多线程优化(下)
文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-多线程优化(中)

后端接口性能优化分析-多线程优化(上):https://developer.aliyun.com/article/14136683.多线程思想:串行改并行假设我们设计一个APP首页的接口,它需要查用户信息、需要查banner信息、需要查弹窗信息等等。如果是串行一个一个查,比如查用户信息200ms,查banner信息100ms、查弹窗信息50ms,那一共就耗时350ms了,如果还查其他信息,那耗时....

后端接口性能优化分析-多线程优化(中)
文章 2024-01-08 来自:开发者社区

后端接口性能优化分析-多线程优化(上)

常见思路1.批量思想:这个其实是一个最容易想到的代码层次的修改,其实对业务上来说,结果都是一样的,只不过这个涉及到了一件事就是,像数据库中发请求,是发十次还是发一次的问题。其原因最根本的还是,每次数据库请求都会引入额外的网络开销和数据库连接管理开销,如果多次,性能会有一定的折扣,但是实际上批量查询并不像传的那么神,也会存在潜在的风险,比如说,可能会引入内存占用过高的问题,特别是数据量非常大的时候....

后端接口性能优化分析-多线程优化(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

{"cardStyle":"productCardStyle","productCode":"aliyun","productCardInfo":{"productTitle":"稳定、灵活、高效:阿里云赋能前后端分离架构升级","productDescription":"本方案为您介绍如何利用阿里云实现业务的前后端分离架构升级,帮助您在简化复杂度和降低成本的同时,全面提升系统的稳定性、扩展性和敏捷性,轻松应对架构转型。","productContentLink":"https://www.aliyun.com/solution/tech-solution/the-headless-architecture-solution-of-alibaba-cloud","isDisplayProductIcon":true,"productButton1":{"productButtonText":"方案详情","productButtonLink":"https://www.aliyun.com/solution/tech-solution/the-headless-architecture-solution-of-alibaba-cloud"},"productButton2":{"productButtonText":"方案部署","productButtonLink":"https://help.aliyun.com/document_detail/2866912.html"},"productButton3":{"productButtonText":"查看更多技术解决方案","productButtonLink":"https://www.aliyun.com/solution/tech-solution/"},"productPromotionInfoBlock":[{"productPromotionGroupingTitle":"解决方案推荐","productPromotionInfoFirstText":"10分钟搭建微信小程序","productPromotionInfoFirstLink":"develop-your-wechat-mini-program-in-10-minutes","productPromotionInfoSecondText":"低代码高效构建企业门户网站","productPromotionInfoSecondLink":"https://www.aliyun.com/solution/tech-solution/build-a-website"}],"isOfficialLogo":false},"activityCardInfo":{"activityTitle":"","activityDescription":"","cardContentBackgroundMode":"LightMode","activityContentBackgroundImageLink":"","activityCardBottomInfoSelect":"activityPromotionInfoBlock"}}

Java后端技术