2017-04-05 78 views
1

由於請求正文處理,我看到高於預期的CPU消耗的問題。 我的簡單application是使用vertx-web構建的。它接受POST請求,聲明主體長度與內容長度標題相匹配。 該應用程序正在使用driver進行2項HTTP操作的基準測試。第一次發送1k,第二次發送8k。每1000毫升每一次。身體只是文字。http請求正文解析導致高CPU消耗

在基準我出多線程發現stackdumps在同一個方法

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

<code>enter image description here</code>

要進一步調查我將JFR附加到服務器進程並重新運行基準測試。 JFR顯示Netty方法parseBodyAttributes是採樣方法的93.5%。

HTOP顯示非常接近100%的兩個內核。

enter image description here

已經看到的方法,這樣才執行?

+0

設置內容類型有助於解釋開銷。使用「application/json」可以繞過解析。而「multipart/form-data」需要解析。 –

回答

0

回到頂端並檢查加載驅動程序配置顯示的字節數與初始註釋中提供的不同。而不是1k它是1024k和8192k。這開始解釋多部分/表單數據內容的解析活動的級別。