2017-04-05 11 views
1

要求本体の処理により、予想よりも高いCPU消費量で問題が発生しています。 私の単純なapplicationは、vertx-webを使用して構築されています。本文の長さがコンテンツの長さのヘッダーと一致することを確認して、POST要求を受け入れます。 このアプリケーションは、driverを使用する2つのHTTP操作でベンチマークされています。第1は1kを送信し、第2は8kを送信する。 1000ミリ秒に1回本文は単なるテキストです。HTTPリクエストの解析結果がCPU消費量が多い

ベンチマーク中に

私は同じ方法で複数のスレッドを示したstackdumpsありました

io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.parseBodyAttributes

<code>enter image description here</code>

へJFRをサーバープロセスに接続し、ベンチマークを再実行しました。 JFRはNettyメソッドを示しますparseBodyAttributesはサンプリングされたメソッドの93.5%です。

HTOPは2つのコアがほぼ100%で固定されていることを示しています。

enter image description here

方法は前にこのように実行するように見られていますか?

+0

コンテンツタイプを設定すると、オーバーヘッドの説明に役立ちました。 "application/json"を使用すると、解析がバイパスされます。一方、 "multipart/form-data"は解析する必要があります。 –

答えて

0

ロード・ドライバ構成を調べて、最初のコメントで提供されるバイト数が異なることがわかりました。 1kの代わりに、1024kと8192kでした。これは、multipart/form-dataコンテンツでの解析活動のレベルを説明し始めます。

関連する問題