區議會選舉|投票日壞機選管會提兩建議 人員責任交行政當局跟進
去年12月10日舉行的區議會選舉,多個投票站晚上故障,經檢視後發現系統設計出錯,技術團隊亦沒有做足荷載測試,最終系統超負荷而故障。
專責調查小組早前向選舉管理委員會提交調查結果,選管會建議選舉事務處採取兩大改善措施。至於今次事件是否有人要負責,選管會指「會由行政當局既定程序跟進」。
選管會今日(19日)發表2023年區議會選舉的報告書,講述是次壞機事件。報告書指,專責調查小組發現事發時子選民登記冊系統的雲端數據庫伺服器中央處理器負荷接近100%,經測試後發現,選舉工作人員的登入程序以及撮取投票數字的程序存在設計問題,運算所需時間會隨着數據庫資料增加的上升,令運算時間愈來愈長。因此雖然投票時間早段運作正常,但到了晚上7時37分,數據庫伺服器的中央處理器終於不勝負荷而無法運作。
調查小組進行測試後發現,中央處理器並非唯一樽頸位,而選舉工作人員的登入程序亦存在另一設計問題,導致登入時在數據庫中需要單列排隊等候,不必要地佔用大量伺服器資源,特別是線程池(Thread Pool)。由於伺服器資源是與其他程式共用,包括發票程序,當線程池堵塞,連帶令電子選民登記冊系統亦無法執行發票程序。
而出現這些問題,是因為選舉事務處因應今次選舉而改了程式設計,而又未充份考慮在系統受壓時可能引起的影響,因而沒有做足荷載測試。
程式兩部份有問題 單獨發生亦不會出事
調查小組做了多項測試之後,指上述中央處理器負荷和工作人員登入時單列排隊的兩個問題,如單獨出現的話,均不會發生今次故障。而若果在線性池未「塞車」之前將雲端伺服器的負荷能力增加1倍的話,可避免事件發生。
技術團隊判斷為輕微 致三重確認制度失效
至於選管會和選舉事務處在系統開發及日常管理設下的三重確認制度,即第一重由選舉事務處內部測試,第二重由獨立承辦商就新開發的系統或現有系統修改而進行評估和測試,以及第三重由選管會邀請各方專家全面審視系統,這三重確認制度在今次事件中未能發揮應有作用。
調查小組指,選舉事務處的技術團隊在改動時未有充份研究實際影響,判斷改動的性質輕微,因而未有進行全面和充份的測試,再者技術團隊向另外兩重架構闡述改動時,沒有充份說明修訂詳情及可能的影響和風險,所以第二重和第三重架構均未能徹底了解是改動可能引起的後果。
建議新成立委員會 負責第一重審視
選管會提出兩大建議,首先是強化上述三重確認制度。選管會指,由選舉事務處的技術團隊做改動、測試並向另外兩重架構報告,有角色衝突之嫌,因此建議技術團隊繼續負責日常維護及升級,而第一重確認的工作則建議成立新的「核心系統開發及維護委員會」負責。委員會成員包括選舉事務處的管理層、技術團隊和其他相關組別,另外入資訊科技辦公室的技術專家。
選管會建議,任何核心選舉系統改動,都要先經過委員會審議才能執行,而修改完成後,委員會負責將修改詳情提交給第二重和第三重架構評估。而第一重、第二重確認通過這些改動後,委員會要再向技術諮詢委員會呈交所有是次修改詳情及可能的影響,以及各項測試、評估報告,如技術諮詢委員會認為有需要,可指示選舉事務處進一步諮詢其他專家意見,即第三重確認。
建議舉辦大規模的模擬選舉測試系統
選管會向選舉事務處提出第二項建議是,可考慮透過模擬大型選舉而進行定期模擬實況測試,以及早發現和修正問題。