前幾天,接到現場人員打來電話說,一對外接口通訊服務程序無法正常開啓了[error:內存不足];可是,同一個程序卻可以。它們的區別是:監聽的端口不一樣,連接的數據庫也不一樣。
一開始,大家爲以是程序哪裏還有bug,就一直在看程序,可是,找了一天,也沒有發現問題所在。
第二天,排除程序的版本不一致性,但問題猶在;變換端口,也一樣。
第三天,在公司模擬現場,結果發現一個問題,那就是數據庫中的一個表,記錄數太多。原來如此,因爲通訊服務一啓動後,要向一client 發數據,結果在設計時,沒有考慮到這個表中的記錄會有幾十萬,從而使得在取數據時,一次性全取回出現了內存不足。
原來如此。。。