0
私は、ローカルのMongoDBに数百万のレコードを挿入しています。bashで大量のデータを印刷すると処理速度に影響しますか?
ロギングを無効にする方法はわかりませんでしたが、端末は膨大なデータを出力しています。
これは実際に挿入が遅くなるのですか、実際に何が行われているのか、端末が遅れていますか?
私は、ローカルのMongoDBに数百万のレコードを挿入しています。bashで大量のデータを印刷すると処理速度に影響しますか?
ロギングを無効にする方法はわかりませんでしたが、端末は膨大なデータを出力しています。
これは実際に挿入が遅くなるのですか、実際に何が行われているのか、端末が遅れていますか?
ロギングが遅くなります。新しいビデオカードを購入したり、出力を消音することができます。
insertscript
の出力が多い場合は、stdout
またはstderr
になります。 いずれかのファイルをファイル(または/ dev/null)にリダイレクトすることができます。あなたがリダイレクトすると、stdoutがデフォルトです(値1を持つ)とstderrは、あなたがまた&
で別の現在のターゲットにリダイレクトすることができます番号2
insertscript > insert.out 2> insert.err
# or
insertscript 1> insert.out 2> insert.err
です:
# Stderr also to insert.out
insertscript > insert.out 2>&1
# or
# stderr to your console
insertscript 2>&1 > insert.out
なぜありません最初にリダイレクトを再生しますか?
echo "Normal output" >/dev/null
echo "Normal output" 2>/dev/null
rm not_existing_file >/dev/null
rm not_existing_file 2>/dev/null
#
echo "Normal output" >/dev/null 2>&1
echo "Normal output" 2>&1 > /dev/null
rm not_existing_file >/dev/null 2>&1
rm not_existing_file 2>&1 2>/dev/null
端末デバイスは比較的遅く、ブロックされます。遅くなると挿入するチャンスがあります。 –
しかし、遅い部分は端末を更新しています。端末に十分なバッファがある場合、スクロールすると表示される出力は、しばらく前に実行されたコマンドによって生成されました。スクリプトが完了すると、スクリプトの出力がスクロールを終了するまでに数分かかることがあります。このようなスクリプトを 'tmux'で実行し、Control-Cを押してから、バッファリングされた出力が完了するのを待つよりもはるかに高速であることに気づくでしょう。 – chepner