電商大促前
物流IT要做哪些準備?
神州控股
焦海濤
前言
聽到“雙十一”這個詞大家都會非常熟悉,它是一年一度的購物狂歡,發展至今也已經舉辦13次了。每年的雙11都是物流行業突破自身極限能力的時刻,是對物流人的大考。在那7天里,訂單量是日常單量的幾十至百倍,社會上所有的物流能力好像一下子都被占用沒了,車輛緊張、場地緊張、人員緊張,系統崩潰。記得最初幾年伴隨著銷量暴增的報道,總是出現電商平臺崩盤,付款失敗的情況,IT人面對雙11,如臨大敵,與購物者的狂歡心態完全不同,IT人是在提心吊膽,神經高度緊張中度過的。為了系統穩定,網上還有各種“奇葩”招數,比如把馬老師的照片貼在服務器上保平安。足以證明雙11的單量壓力是多么的可怕。隨著大促經驗的不斷積累,現在的雙11,雖然單量還在逐年增長,但是我們很少會聽說系統崩了,站點爆倉了這類消息。這個轉變的原因是多方面的,各方資源和能力都在增長,在這里,我們淺談“要做哪些準備才能支撐好電商倉發貨的業務”。
作為親歷過12次雙十一的神州控股旗下科捷物流的IT團隊成員,我特別想把一些經驗分享給感興趣的伙伴們。今天就借著神州數碼技術年會星火文集這個舞臺,帶著伙伴們一起進入科捷物流忙碌的大促系統籌備中。
科捷物流在大促中扮演的是電商倉儲發貨的角色,每次我們做大促支持,都分“戰前”、“戰中”、“戰后”三個階段。工作量最為繁重也是最重要的就是“戰前”階段。在這個階段,我們會按以下九個方面來做準備。
1.
硬件資源
硬件資源指我們使用到的服務器、虛擬機、存儲一類的硬件設備。這是最基礎的資源,也是一切的根基。在大促前,一定是需要做短期擴容的。我們有本地的資源,也用到云上的資源,本地資源就更要提早的協調溝通。
1.根據單量預測,增加服務器或者提升CPU/內存
2.檢查更新WINDOWS服務器補丁,并設置成不允許自動升級補丁狀態
3.整理磁盤碎片
4.做硬件健康檢查
5.關注磁盤空間、網絡狀況、CPU使用、內存使用情況
2.
倉內設備
倉內設備指庫房內的電腦、打印機、手持設備、電子秤、自動稱重設備DWS、AGV等。這些設備不像總部機房內設備那樣集中管理,都分布在各個倉里,難管理,在大促前需要做一次全面檢查。
1.庫房內電腦磁盤空間是否足夠
2.手持設備的聯網狀態,手持設備本地空間剩余,備用數量
3.電子秤備用數量,提前做好短期新增的電子秤與電腦的適配連接
4.各型號打印機的試打印
5.自動化設備的健康檢查
3.
監控管理
監控管理有很多層面要顧及。要有最基礎的服務器、網絡資源使用情況的監控和自動報警;也要有業務層面的監控,比如來自于我們大數據系統KingKooData自動發送的業務各項指標的完成報告【圖1】、業務數據流的流轉阻塞監控【圖2】;還要有全國各倉的實時畫面監控【圖3】。
圖1
圖2
圖3
4.
網絡準備
網絡涉及到服務端的帶寬和庫房的內外網。首先是要通過日常的網絡占用情況數據來判斷需要增加多少帶寬。其次是如果發現連接總部網絡質量不好的庫房,需要采取一些加強措施,比如SDWAN的方式,減少鏈路躍點數,提高網速和穩定性。
5.
數據庫
最有可能出現卡頓的故障點就是數據庫,要做以下準備。
1.清理歷史數據,保證一個安全的數據量
2.重建索引、收集碎片
3.調整全備份的日期,避開大促
4.調整批量數據導出作業,避開大促
5.優化慢SQL,避免死鎖
6.
部署調整
利用短期新增的服務器,做多節點配置,接口系統和應用系統用Nginx做分壓。根據單量預測,單量比較集中的庫房,不能集中在一個數據庫中,需要做拆分。日常如果有很多程序擠在一個服務器上情況,這種時候就要分服務器部署。
7.
壓力測試
大促開始時,壓力會先來自于上游給庫房下發單據的動作,我們叫接單。當夜間和第一個白天過后,所有壓力都發生在倉儲系統的發貨流程上。所以我們一般會針對以上兩個重點做壓力測試。
1.接單壓試,是通過測試工具模擬大量訂單接入的場景測試。自測后,還要協同客戶,根據往年的單量進行壓力測試,模擬大促場景,確保客戶訂單接入無延遲。
2.關鍵功能壓測,是找到用量最大的幾個關鍵功能點做壓測。比如“制揀選波次”、“批量調度”、“獲取面單”等,根據結果,要制定針對性能瓶頸的解決方案。需要注意的是,功能優化往往是花費時間最多的準備環節,需要提早3個月以上開始著手。最晚到大促2周前,就不能再有代碼變動了,要封閉版本,因為任何上線都可能隱藏著代碼BUG,一定要留給業務一個版本穩定期。
8.
日志管理
在大促的時候,系統動作越少越好,能節省資源的地方就不要放過,日志記錄在金庫系統中做了開關,分出了“必須”和“非必須”兩個級別,在大促時,只開“必須”的日志記錄,能大大緩解數據庫和磁盤的I/O壓力。另一項工作,就是清理舊日志,騰出足夠的空間。
9.
值班安排
值班安排就是把參與大促的IT人員做分工安排,要根據大家各自熟悉的領域搭配好,提前為大促值班排出兩個班次,這種大促都是24小時輪值,每耽誤1小時解決問題的時間,倉里就是幾萬到幾十萬的損失。
好了,如果準備完以上的九方面內容,時間可能也過去四個月了。臨近大促最后的一周基本上沒有大動作了,就是小的查漏補缺,一些不能提前做的配置和開關動作在這時候進行。那么,真正到了雙十一來臨的那個晚上,我們會和倉儲管理部、客戶部組成聯合作戰團隊一起進駐作戰室集中辦公。全天候雙班24小時的戰斗,通過KingKooData大屏盯住所有倉的各項指標,線上響應各方呼叫,每小時系統自動發送詳實戰報。
科捷的IT小伙伴們就是這樣來準備一場大促的。“親,簽收滿意的話,給個五星好評哦!”