4

組み込み HTTP サーバーとして Jetty 8.1 を使用しています。過負荷状態では、サーバーがログ ファイルを次のメッセージであふれさせることがあります。

warn: java.util.concurrent.RejectedExecutionException
warn: Dispatched Failed! SCEP@76107610{l(...)<->r(...),d=false,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}...

同じメッセージが何千回も繰り返され、ログの量がシステム全体の速度を低下させているように見えます。メッセージ自体は問題ありません。リクエスト ハンドラは、時間内にリクエストを処理するのが遅くなるだけです。しかし、膨大な数のメッセージが繰り返されると、実際には状況が悪化し、システムが過負荷から回復するのがより困難になります。

それで、私の質問は次のとおりです。これは正常な動作ですか、それとも何か間違ったことをしているのですか? サーバーのセットアップ方法は次のとおりです。

Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setAcceptQueueSize( 10 );
server.setConnectors( new Connector[]{ connector } );
server.setThreadPool( new ExecutorThreadPool( 32, 32, 60, TimeUnit.SECONDS,
                                              new ArrayBlockingQueue<Runnable>( 10 )));
4

1 に答える 1

0

SelectChannelEndPoint は、このログメッセージの発信元です。

表示されないようにするには、名前付きロガーorg.eclipse.jetty.io.nio.SelectChannelEndPointを LEVEL=OFF に設定します。

なぜそれが表示されるのかというと、それは Jetty の開発者にとってより興味深いものです。使用している Jetty の特定のバージョンと、使用している特定の JVM について詳しく教えてください。

于 2013-05-18T01:43:38.810 に答える