庫存資料匯入程式出現異常~

上個月幫一個重要客戶處理庫存資料更新至AWS伺服器的需求,他們希望能夠在AWS的伺服器上可以看到公司內部的庫存資料,但又要考量到資安問題和處理效能問題,所以請我幫忙看看~

客戶人員原本是使用MySQL Workbench直接操控資料庫,來將庫存資料匯入至AWS主機的資料庫,但由於現在是遠距工作,必須透過VPN,導致匯入時不穩定、幾百筆資料就要耗費幾個小時…

所以客戶人員請我幫忙看看能否找到更好的方式,在經過我努力的測試後,我找到一個我個人認為最佳的解決方案,還幫他們把相關程式和資料交換機制所需要的伺服器都備妥了,在系統下用程式直接匯入庫存的資料,而且保證能兼顧資安的考量!😁

其實就算是幾萬筆、幾十萬筆資料,甚至是幾百萬筆資料我都能匯入,因為我開發的「問雲」試算AWS成本軟體就必須經常處理AWS的價格資料,光是AWS的EC2 CSV檔就有2GB、將近三百萬筆記錄!!😱

而且「問雲」的資料不是單純匯入就好,必須從CSV檔解析後再做很多處理,若是直接塞入資料庫絕對很快,但在資料庫處理匯整解析的動作時會拖垮整台主機的效能(因為CPU資料全被資料庫佔走了)。😱

當時我花了很多時間測試才找到最佳的方式進行處理,但即便如此,面對三百萬筆資料、又要進行複雜的匯整解析處理、使用的主機效能也不是超強,所以每次匯入資料時就得花上一整天~😅

由於這個重要客戶支持我十幾年,加上我剛好自己有這方面的經驗,所以我當然很願意幫忙,更何況他們公司現在所有的AWS主機都是我負責在維運,就算我之前不會、我也會儘全力幫助他們的!🥰

今天凌晨收到INSTAWATCHER傳來的警示簡訊,經過確認後發現是之前幫客戶寫的庫存資料匯入程式造成的問題由於我很想知道為什麼之前都很正常、現在才出現問題、而且會造成程式當掉卡住CPU資源呢?

在花了幾個小時詳查程式的問題後發現,原來是因為客戶的庫存資料內容和之前有些差異,最主要的問題是在這些內容裡有幾個特殊字元是之前沒有的,因此才造成了匯入程式的卡當,最後找到解決方式、將程式做了一些修改後徹底解決問題了!

資訊技術就是如此,沒有永遠的一定!過去可以運作正常不代表現在仍然可以,真的只能遇到問題時去深入探查,然後加以解決!

註:之所以不建議他們用API方式串接,主要就是考量資安問題以及他們人員要自行開發、維護API程式和伺服器的問題,使用我建議的方式後,他們的人員只要定期將庫存資料上傳至資料交換伺服器即可!🥰
#我是全台最用心的雲端顧問
#有雲端和資安需求歡迎找我
#需要建置私有雲也歡迎找我
#我會寫程式但只寫自己要的

我幫客戶構思的庫存資料交換架構(企業內部ERP→AWS雲端主機)

看到INSTAWATCHER的警示簡訊時,我就會立刻查看記錄

INSTAWATCHER的CPU用量記錄

INSTAWATCHER會主動記錄高CPU用量的程序名稱

手動執行庫存資料匯入程式進行詳查

手動執行庫存資料匯入程式時發現會卡住(之前都能成功匯入資料)

執行庫存資料匯入程式並卡住時就會造成CPU資源全被佔走

使用ps指令檢查確認CPU用量異常就是庫存資料匯入程式造成的!