2013年4月28日 星期日

從高鐵延誤看被輕視的專業

35 意見



今天看到蘋果日報以大篇幅報導《幾分鐘可解決的故障 高鐵竟停擺4小時》(註1)這則新聞,讓筆者深深感受到台灣人如何作賤專業。


撰寫過軟體或是維護過資訊系統的人應該很清楚,一個系統出了問題,第一件事情絕對不是,也不該是重開機。有問題出現,代表一定是有程式在特定的系統環境下出錯了。要找出問題,除了從程式碼來尋找以外,還要從系統環境來找。這兩個要素湊起來才能找到問題。但重開機就直接把系統環境還原,因此引發問題產生的原因消滅了,就很難再次找到原因了。重開機看起來是短時間解決了問題,但是問題並沒有真正被解決。一旦滿足了問題發生的條件,這個問題還是會再度出現。所以,通常面對這種狀況,通常會立刻停止運作,在系統中尋找問題。若一時三刻找不到問題,也會立刻傾印(dump)當前系統,確定所有除錯相關數據都有紀錄後,先重開機或重置讓系統恢復運作,減少對線上服務的衝擊,事後再從保存的資料中進行後續除錯。


這次高鐵花了4個小時維修,最後重開機,有可能是已經找到問題相關來源,若尚未找到問題,也有可能已經保存好相關數據,最後再以重開機的方式恢復運作,事後進行除錯。最糟糕的狀況是什麼都沒有解決,在高層的壓力下重開機恢復運行。我們不知道這4個小時究竟發生了什麼事情,但絕不能因為最後使用重開機的手段作為恢復運行的方式,就認定前面的步驟和過程都不重要,只要重開機就好。有許多人質疑處理問題還要花4個小時,高鐵專業度不足;那麼請問,面對一個這麼大的系統,又牽涉到許多硬體、軟體的整合,問題也是之前沒有發生過的,4個小時之內要技術人員處理好問題,這個要求是否太過苛責?


深入閱讀......