全国做网站的营销型网站建设的重要原则
1,sql
2,缓存,尤其面向用户,如app数据。可用redis+咖啡,二级缓存。
充分利用redis,redis数据类型很多,平时场景中结合实际情况,找一下对应的redis实现方案
比如Zset可以排序,可以用于分页查询。
同时从Zset取数据时,注意数据量,如果集合中包含很多数据,可以分批处理
ZRANGE key start stop [WITHSCORES],其中start stop 代表元素在集合中位置,
排序时根据分值从小到大,升序排列。
Redis Zrange 命令 | 菜鸟教程
3,异步,(线程/MQ)不重要的业务逻辑
4,并发查询,java8 CompletableFuture。场景,多个查询场景。
5,多线程
6,MQ,先接,慢慢处理
7,分批,
增加/查询
尤其对外部系统查询 + CompletableFuture
8,大事物,
分批处理限制处理量,异步,编程行事物替代声明事物(缩小事物范围),查询放在事物外
9,分库分表 shardingJdbc
可以解决数据库连接资源不足和磁盘IO性能瓶颈问题
10,远程调用(批量+并行+限制QPS+缓存)
1>分批批量调用,分为同步/异步调用(并行调用),
同步会导致整体耗时还是比较长,
异步可以采用CompletableFuture,但是还要考虑调用第三方频率不能太高,不能给对方造成压力。
2>量大,但是每次只能查询一个条件
注意调用频次,比如1s限制50次查询,休眠1s,再调用。CompletableFuture.supplyAsync
12,skywalking
----参考
--本内容由 @试图保住头发的N_Y 大佬下凡召唤,热心市民@AI视频小助理闪现赶来
一、接口性能优化的常用方法,包括优化索引、SQL语句优化和远程调用等。同时也提到了一些需要注意的问题和技巧。
00:01 - 接口性能优化是后端开发的公共问题
00:13 - 优化索引是优化接口性能的最简单方法
03:11 - 除了优化索引,还可以通过优化SQL语句来提高性能,如避免使用select星、批量操作等15个小技巧
二、五种优化接口性能的方法,包括并行调用、数据异构、重复调用、异步处理等,其中详细介绍了每种方法的实现原理和注意事项。
04:46 - 使用并行调用远程接口可以提高性能
05:26 - 通过数据异构方案可以减少远程接口调用次数
08:14 - 使用多线程或MQ异步处理可以提高接口性能
三、如何优化接口性能,包括使用MQ消息队列、避免使用ATRANSACTIONAL注解、优化大事务问题、使用分布式锁等。同时还介绍了数据库锁的优化方向。
09:28 - 接口逻辑改成视频中这样的,提升接口性能
09:56 - 避免使用ATRANSACTIONAL注解,引发大事务问题
10:57 - 使用synchronized关键字加锁,优化代码,提升性能
四、如何优化远程接口调用性能,包括同步分页调用和异步调用,并使用缓存来提高性能,同时讨论了使用REDIS和基于内存的缓存的优缺点。
14:14 - 调用接口从数据库获取数据需要网络传输,带宽限制会影响获取速度和耗时时间。
14:54 - Java中同步分页调用远程接口,批量查询用户信息,避免邮件预警。
16:02 - 使用REDIS缓存提高数据获取性能,但需考虑数据一致性问题。
五、在接口性能受限时,可以通过分库分表等方法来解决数据库连接资源不足、磁盘IO性能瓶颈、检索数据耗时消耗CPU资源等问题。
18:56 - 接口性能受限可能是因为数据库请求
20:05 - 分库分表可以解决数据库连接资源不足和磁盘IO性能瓶颈问题
21:01 - 使用辅助功能可以提升查找问题的效率,如开启慢查询日志和监控系统