原廠的SDK對Transaction Timeout沒有處理,所以批次處理要控制好單次的數量,不然就會一直遇到read timeout,在我的環境裡20000一個批次是絕對安全的。
原廠的SDK用的Connection Pool很古老,建議換掉,不過以法國佬的個性,不可能,但是這段,無法自己偷換。
Database Driver可以偷換,API一致,可以用新版改成舊版的檔名來換。
Database本身的Process Timeout可以調的話,也要調大,不然也會read timeout。
最終在我的虛擬機測試結果6000萬筆,TPS:59xx。原廠的測試工具可以到2xxxx,但因為是把檔案整個讀進記憶體,處理太大的資料會當機。