一.引言
在互联网开发过程中,响应速度应该也是程序开发特别要关注的点之一。下面讲讲开发中两个优化。
二.事件
1.接口A(XXX)
在写接口A的时候,需要用到订单信息,而这个下游的接口有时响应时间在300ms,它是放在首页被异步调用的。有人说反正是异步调用,300ms也不是很慢呀!用不着优化吧!确实300ms是在用户可以忍耐的极限内,但是自己代码只要几ms,调用别的接口用了这么多,着实这个接口很慢的锅背着很难受。
那么有什么好的优化点呢。首先考虑到接口A主要是用来做推荐用的,而且用的订单信息也不一定需要实时(当然这个是一个可以接受的时间,不可能取用户10年前的订单哈).这样很自然的就想到了使用缓存技术。接口改完之后95线变成了16ms,提升了很多。
2.接口B(xxx)
在写接口B的时候,发现需要获取订单接口里面的某个字段,虽然说取出的订单号并不多(有几个订单号,就需要调用几次),但是订单接口的速度确实让人堪忧,下游接口一次请求到了5s(测试 环境)。
这样多个接口去调用,自然是不行的,就算以这样的调用代码提交上生产环境,接口性能也是让人久久不能平静。最后找了订单组那边直接开库表权限,同时读表时以不锁表的方式读取,平均响应时间在30ms。速度那是一个飞呀!