接口优化小思

      

         未雨绸缪

        再有经验的开发者也无法全面对接口性能评估,难免或有疏漏,良好的监控工具,客观的可以查看接口的各个性能。

        公司最近用的是听云第三方的性能管理监控平台来监控各个http接口和dubbo接口,包括web应用过程、数据库、noSQL、外部应用等,可以清晰的看到各个接口调用耗时百分比,响应时间及平均响应时间,吞吐率,错误率,Apdex等,可以直观的看到接口调用情况,及时的优化慢接口。如下图所示



接口优化过程

         一个自己开发的接口或者别人开发的接口,该如何去优化呢?

        往往是带着各种怀疑和疑问开始的

        从代码层次上,是否有重复的调用情况,某些类的某些方法使用是否得当,当时用两个不同的方法都可以的时候,哪个使用会快一些,for语句循环量是否太大,是否可以把for循环里的一些代码抽取出来,是否可能会报空指针异常,是否catch住Exception,返回给客户端的一些字段,哪些是扩展的部分,且消耗时间,可暂时注释掉的等。

        从数据库层次上

        这个接口所涉及到的数据库查询,是否有连接查询,数据库表中的数据是否过大,where查询字段是否添加了索引,索引是否生效,explain查看sql执行效率,是否sql太过复杂,一些业务逻辑应该放到java中,为了减轻db压力是否添加缓存,缓存使用是否合适,对于同时消失的缓存会不会一时间会穿透db。

        从业务逻辑层次上

        代码是否耦合和一个方法中是否业务逻辑过于复杂,一种业务逻辑实现方式,是否可以换另一种思路,产品设计是否有疏漏,是否可以向产品提出,修改一部分已达到最好的用户体验效果。

        能力有限,还有很多没想到的,望提出更多建议,以便在优化代码的时候,考虑的全面些


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值