提高程序的效率

文章提出了几点系统优化建议,包括减少数据库循环查询,利用缓存提高效率,调整日志级别,利用nginx处理静态页面,tomcat专注数据处理,关注GC和CPU使用,细化锁粒度以减少冲突,使用多线程并结合线程池提高处理能力,以及在无反馈结果场景下使用消息队列MQ。同时强调了中间件的合理使用和性能平衡。
摘要由CSDN通过智能技术生成

1. 不要循环查询数据库(db),  可以查询一次全部的数据 在进行处理, 或写对应的sql语句解决;  (避免多次没必要的I/O操作)

2. 如果一个  查询多 且 不经常发生变化 (读多,写少) 和 一致性要求不高(就是在短时间内不需要准确的数据) 的 数据,可以使用缓存;    《合理的使用缓存,对程序的效率提升很大》

3. 在开发阶段可以开启高级别的日志,但在发布阶段就是用对应的简单的日志;

4. nginx负责来返回前端的一些静态页面(这个是几乎只消耗CPU) ,tomcat就负责返回数据和处理数据; 分工处理  (主要是不要把压力给到一个人处理, 性能也会有一定的提升) (数据处理消耗CPU, 与数据库交互或IO操作消耗线程数) 

5. 按照对应的服务进行压力测试,使用工具查看对应的 堆空间GC的频率和CPU的使用情况等等,来做适当的修改对应的堆大小和代码 或 修改GC垃圾回收器; 

 6. 在使用锁的时候,(尽量)保证锁的粒度细:    如 每个商品都加一个对应属于自己的锁,当一个线程修改一个商品时,其他线程可以修改其他的商品  但不能修改正在修改的商品;

7. 在一个代码块中有几个没有关联的代码,这个时候可以使用多线程的方式并行处理;(使用线程池_避免每次使用都要创建)  、线程的数量根据cpu的核数 和 IO操作频率 来指定具体的数量;

 8. 在不需要反馈结果的代码(最终一致性),可以通过mq来进行处理。提高用户的响应速度和在高并发的保护。

9. 使用中间件会降低程序的总体性能,所以合理使用中间件 (不是用)。(考虑程序的侧重点)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值