一半人都不会性能优化,你的同龄人都躺下了

一半人都不会性能优化,你的同龄人都躺下了一 数据库优化 一般来说 当一个请求超过 200ms 就需要优化了 当前这不是绝对的标准 具体看业务场景 sql 优化一般包括 1 是否命中索引 2 设计是否合理 3 关联查询是否合理 实在数据量大 只能在拆分了 如果需要同时插入许多数据 尽可能使用 BulkCopy 操作以提升性能

大家好,我是讯享网,很高兴认识大家。

一、数据库优化

一般来说,当一个请求超过200ms,就需要优化了,当前这不是绝对的标准,具体看业务场景。

sql优化一般包括

1、是否命中索引

2、设计是否合理

3、关联查询是否合理

实在数据量大,只能在拆分了。如果需要同时插入许多数据,尽可能使用 BulkCopy 操作以提升性能。

 

使用云数据库的监测慢查询、MiniProfiler等

 

二、代码优化

1、重复调用

在代码当中,重复的调用执行sql、计算方法等,比如在循环的方法当中,根据id查询数据库,循环100次查询100次sql,这种是很崩溃的做法,应该是在外面直接统一查询;

在做事务处理的时候,一些查询动作需要先处理查询,最后在执行事务,避免事务时间过长,导致死锁;

避免循环创建对象;

使用StringBuilder做字符串连接等。

 

使用MiniProfiler进行监测;


讯享网

 

2、按需查询

很多业务逻辑不复杂的功能,却响应很慢。往往都是直接就调用一些已经存在的方法,导致整体响应变慢,或者可能就需要一两个字段,结果把所有的字段都处理了。其实就是避免查询的时候直接select *,返回的时候不要整个实体对象返回。

 

3、加缓存

缓存也是优化中最常用的,效果提升最明显的,成本也不大。对于缓存,也不要滥用,不是所有场景都可以靠堆缓存来提高性能的。

首先对于实时性要求不高的业务场景可以优先使用缓存,也不用太考虑更新的问题,自然过期就行。

实时性要求高的业务场景,用缓存一定要有完整的缓存更新机制,否则很容易造成业务数据和缓存数据不一致的情况。

 

推荐使用redis,支持分布式.

 

三、异步处理

有些逻辑,不需要实时反馈给用户、或者耗时的那就可以采用异步的方式在后台进行处理。

 

可以使用消息队列rabbitmq、后台服务hangfire等

 

四、扩容

加机器是最后的终极大招了,并发量上去的时候,你在怎么优化单机器和单数据库抗并发能力也是有限的,这个时候只能水平扩展了。

 

做负载均衡等

关注公众号:UP技术控   获取更多资讯

小讯
上一篇 2025-01-25 11:00
下一篇 2025-02-15 14:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/72614.html