性能优化的方案

本文介绍了性能优化的三个主要层次:系统层次、算法层次和代码层次,并探讨了优化过程中通常遵循的规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

性能优化一般来讲有三个层次:

● 系统层次

● 算法层次

● 代码层次

性能优化一般遵循如下几个规则:

规则 1 】不要一味地追求程序的效率,应当在满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率。
规则 2 】以提高程序的全局效率为主,提高局部效率为辅。
规则 3 】在优化程序的效率时,应当先找出限制效率的“瓶颈”,不要在无关紧要之处优化。
规则 4 】先优化系统架构,再优化数据结构和算法,再优化执行代码。
规则 5 】有时候时间效率和空间效率可能对立,此时应当分析那个更重要,作出适当的折衷。例如多花费一些内存来提高性能。
规则 6 】不要追求紧凑的代码,紧凑的代码并不一定能产生高效的机器码。

常见的系统层次的优化有如下方法:
•集群与负载均衡 

•读写分离、分表分库 

•消息总线 

•动静分离 

•CDN

•Nosql、缓存 

接下来讲讲支付平台的系统优化:
•集群与负载均衡 
我们采用的微服务方式来实现,所有的微服务我们都是无状态的,都是可以横向扩展的,无单点故障。这样单台机器出问题基本不会影响,如果系统并发量上去后我们可以及时的去扩容。
•读写分离、分表分库 
支付数据根据不同业务线来分库,一个业务线一个数据库,这样的话减少了数据库层面的压力。
•消息总线 
消息总线的好处多多,首先流程异步化,调用者发送消息即可,无需等待消息处理完毕,其次可以有效削峰,降低服务器压力。结算完成流程我们就是采用的消息总线方式,结算完成后交易系统推送结算完成消息给清算系统,清算系统再去更新用户余额。
•动静分离 
所谓的动静分离,就是将 Web 应用程序中静态和动态的内容分别放在不同的 Web 服务器上,有针对性的处理动态和静态内容,从而达到性能的提升。
•CDN
所谓的 CDN,就是一种内容分发网络,它采用智能路由和流量管理技术,及时发现能够给访问者提供最快响应的加速节点,并将访问者的请求导向到该加速节点,由该加速节点提供内容服务。利用内容分发与复制机制,CDN 客户不需要改动原来的网站结构,只需修改少量的 DNS 配置,就可以加速网络的响应速度。
•Nosql、缓存 
常见的场景都是读比写的数量大很多,这时候我们可以使用缓存,如果缓存中有数据直接从缓存中取数据,缓存中没数据时才从数据库中读取。我们这边不管交易数据还是订单数据,都用到了redis缓存来提高性能。对于数据量非常大的对账信息,我们采用hbase来存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值