場景
- 400萬Mongo歷史數據放入elasticsearch中, 歷史數據放入之前要進行一定的過濾,轉換操作, 使用默認的遊標設置,
報找不到遊標
分析
- 遊標兩次請求之間 如果超過了10分鐘 則自動銷燬
解決
- 在生成遊標的時候 設置timeout
- 一般也不這樣設置, 一定遇到異常 會操作資源無法自動銷燬
在生成遊標的時候 設置每次取出的數量
- 這個數量一定是10分鐘內可以執行結束的
- 一次性取完
- 不這樣設置
加快執行單元的執行速度
單條插入換成批量插入, 速度10倍+
選用
報找不到遊標
在生成遊標的時候 設置每次取出的數量
加快執行單元的執行速度
單條插入換成批量插入, 速度10倍+
選用
$fileContent = trim($fileContent); $fileContent=$queueList->characet($fileContent);