1. 程式人生 > >後臺系統優化,從1分鐘到秒級

後臺系統優化,從1分鐘到秒級

剛到公司的時候為了追求快,所以後臺系統的設計跟效能是一塌糊塗。後來反思了一下準備推翻重新寫!

1、確定框架

      因為之前一直在用cake,因為我自己喜歡使用新鮮的東西,所以選用了3.0,但是不得不吐槽中文文件是真的少,所以權衡利弊最紅還是選擇的了thinkphp5.0,最起碼有完整的中文文件,並且也是中國人開發的。

2、解耦模組

      把所有的資料層、控制器層完全分離出來

3、分析效能差的原因

     後臺系統一共分為  商品中心、訂單中心、運營中心、使用者中心、銷售中心。

公司的性質為電商平臺,平時主要資料為訂單資料、商品資料。而後臺慢的原因主要是以下原因:

    ①列表頁無分頁

    ②大部分使用非同步

    ③資料過大

    ④伺服器配置過低(公司規模不是很大以技術層面不動伺服器的東西)

4、解決

    ①新增列表分頁

    ②把百分之90的非同步換成了form表單提交,這樣程式碼簡潔、不易錯、效率快

    ③對於查詢資料量過大的我要著重講一下:

           後臺系統的使用者中心、銷售中心是查詢資料量最大的程式,因為查詢的都是整年的銷售、使用者分析資料,基本上資料百萬條(自我吐槽一下每次查詢時間長一點都得用將近1分鐘)。

          我首先做的嘗試優化程式,把所有的程式多於的邏輯進行刪減,最大的程度減少foreach去迴圈資料,去用SQL直接可以處理。經過這樣的處理程式的執行時間從1分鐘到20秒左右。

          但是感覺20秒還不是極限,又靜下來想了想辦法,最終決定把每天的統計資料用定時程式去統計,然後程式只需要查詢統計完的資料結果,經過這個修改完,銷售重新從之前的 20秒快到 1秒!!!!

          接下啦就是使用者中心,使用者中心的核心處理辦法和銷售中心是一樣的,但是感覺速度依舊不理想,後來發現使用者中心的資料實在是太咋了,所以把不同功能的模組都分離,放到不同的頁面,速度也提升到了1-3秒。