2

サーバーのログはかなり網羅的だと感じています。ログ出力を無効にするか減らす方法はありますか? ドキュメントをサーバーに送信するstdoutと、パフォーマンスを低下させる可能性のあるコンテンツが書き込まれるようです。

どうにかしてそれを行うことはできますか?


アップデート

サーバーからの出力を抑制する方法を見つけました。それでも私の質問は、実際のサーバーのコマンドライン引数を使用してこれを行う方法と場合です。ただし、汚い回避策の場合、次の方法でオーバーヘッドを軽減できるようです。

でサーバーを実行する

java -mx6g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -prettyPrint false 2&>1 >/dev/null

どこで>/dev/null出力を何もパイプしません。残念ながら、これだけでは役に立ちませんでした。2&>1ここでトリックを行うようです。私はそれが実際に何をしているのかわからないことを告白します。ただし、2 つの実行を比較しました。

2&>1 >/dev/null で実行

Processed 100 sentences
Overall time:      2.1797 sec 
Time per sentence: 0.0218 sec 
Processed 200 sentences
Overall time:      6.5694 sec 
Time per sentence: 0.0328 sec 
...
Processed 1300 sentences
Overall time:      30.482 sec 
Time per sentence: 0.0234 sec 
Processed 1400 sentences
Overall time:      32.848 sec 
Time per sentence: 0.0235 sec 
Processed 1500 sentences
Overall time:      35.0417 sec 
Time per sentence: 0.0234 sec 

追加の引数なしで実行

ParagraphVectorTrainer - Epoch 1 of 6
Processed 100 sentences
Overall time:      2.9826 sec 
Time per sentence: 0.0298 sec 
Processed 200 sentences
Overall time:      5.5169 sec 
Time per sentence: 0.0276 sec 
...
Processed 1300 sentences
Overall time:      54.256 sec 
Time per sentence: 0.0417 sec 
Processed 1400 sentences
Overall time:      59.4675 sec 
Time per sentence: 0.0425 sec 
Processed 1500 sentences
Overall time:      64.0688 sec 
Time per sentence: 0.0427 sec 

これは非常に浅いテストでしたが、かなりの影響があるようです。ここでの差は 1.828 倍であり、時間の経過とともにかなりの差になります。

ただし、これは簡単なテストであり、結果が完全に正常であるとは保証できません。

さらに更新:

これは、JVM が時間の経過とともにコードを最適化する方法に関係していると思いますが、1 センテンスあたりの時間は、ローカル マシンでの時間と比較できるようになります。ロギング2&>1 >/dev/nullを排除するために以下の結果が得られたことを覚えておいてください。stdout

Processed 68500 sentences
Overall time:      806.644 sec 
Time per sentence: 0.0118 sec 
Processed 68600 sentences
Overall time:      808.2679 sec 
Time per sentence: 0.0118 sec 
Processed 68700 sentences
Overall time:      809.9669 sec 
Time per sentence: 0.0118 sec 
4

1 に答える 1

2

あなたは今、これを求められた 3 人目です :) -スタンフォード コア NLP サーバーが受け取ったテキストを出力しないようにします。GitHub リポジトリの HEAD およびバージョン 3.6.1 以降で-quietは、サーバーが受信したテキストを出力しないようにするフラグがあります。クラスパスにある場合は、SLF4J を使用して他のログを構成できます。

于 2016-05-27T17:14:25.530 に答える