時間:2024-03-04 00:33作者:下載吧人氣:17
公司為這個項目專門配備了幾臺高性能務器,清一色的雙路四核超線程CPU,外加32G內存,運維人員安裝好MongoDB后,就交我手里了,我習慣于在使用新服務器前先看看相關日志,了解一下基本情況,當我瀏覽MongoDB日志時,發現一些警告信息:
WARNING: You are running on a NUMA machine. We suggest launching mongod like this to avoid performance problems: numactl –interleave=all mongod [other options]
當時我并不太清楚NUMA是什么東西,所以沒有處理,只是把問題反饋給了運維人員,后來知道運維人員也沒有理會這茬兒,所以問題的序幕就這樣拉開了。
遷移工作需要導入舊數據。MongoDB本身有一個mongoimport工具可供使用,不過它只接受json、csv等格式的源文件,不適合我的需求,所以我沒用,而是用PHP寫了一個腳本,平穩運行了一段時間后,我發現數據導入的速度下降了,同時PHP拋出異常:
cursor timed out (timeout: 30000, time left: 0:0, status: 0)
我一時判斷不出問題所在,想想先在PHP腳本里加大Timeout的值應付一下:
<?php MongoCursor::$timeout = -1; ?>
網友評論