api延遲怎么解決?
一. 首先要分析接口響應慢的具體原因,列出一些常見原因
是不是資源層面的瓶頸(服務器性能問題)
是不是緩存沒添加,如果加了,是不是熱點數據導致負載不均衡
是不是有依賴于第三方接口
是不是接口涉及業務太多,導致程序跑很久
是不是sql層面的問題導致的等待時機加長,進而拖慢接口
網絡層面的原因,帶寬,DNS解析
二.相應的解決方案
資源緊張,加機器,SLB(負載均衡)搞起來
加緩存可以解決的問題都不是什么大問題,存在熱點數據可以將某幾個熱點單獨出來用專門的機器進行處理,不要因為局部影響整體
一方面與第三方溝通接口響應問題,另一方面超時時間注意把控,如果可以非核心業務能異步久異步掉
把非核心的業務進行異步化操作(消息隊列)。記住如果代碼層面是非核心業務,但是會影響用戶感知,需要慎重決定是否異步。
如果是代碼不良導致加鎖了,盡量優化索引或sql語句,讓鎖的級別最小(到行),一般來說到行差不多了。如果是單個sql跑慢了,需要分析是不是索引沒加或者sql選的索引錯了,索引該加的就加了,該force index也加了。
網路原因,需要聯系運營商一起商量下怎么解決,單方面比較難有大的優化。
上一篇電腦代碼502怎么解決
下一篇但是想辭職做自媒體