apache / apache/servicecomb-java-chassis

cse压测时cup占用异常

オープン
#3,849 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
1.9k
フォーク
814
平均マージ
8日 23時間
マージ済み PR(30日)
1

説明

场景:
os:
cpu:
all usage: 76.98% all idle: 23.02% process: 602.65%
net:
send(Bps) recv(Bps) send(pps) recv(pps) interface
35 35 0 0 lo
19.448M 14.379M 5.721K 11.214K eth0
vertx:
instances:
name eventLoopContext-created
registry 0
registry-watch 0
transport 0
transport:
server.endpoints:
connectCount disconnectCount rejectByLimit connections requests latency send(Bps) receive(Bps) listen
53 53 0 50 23487 17 107.930M 717.799K 10.33.205.58:8250
threadPool:
coreSize maxThreads poolSize currentBusy rejected queueSize taskCount taskFinished name
16 64 26 2 NaN 0 194.1 194.0 cse.executor.groupThreadPool-group1
16 64 26 0 NaN 0 194.9 195.0 cse.executor.groupThreadPool-group0
producer:
simple:
status tps latency operation
rest.200 0.1 0.240/0.255 NormalContentService.normalContentCheck.getMicroServerHeartBeat
391.3 6.354/554.521 NormalContentService.BrowserNormalContent.queryNormalDocs
391.4 6.353/554.521 (summary)
details:
rest.200:
NormalContentService.normalContentCheck.getMicroServerHeartBeat:
prepare: 0.017/0.023 queue : 0.028/0.030 filtersReq : 0.025/0.026 handlersReq: 0.106/0.117
execute: 0.028/0.034 handlersResp: 0.001/0.001 filtersResp: 0.009/0.010 sendResp : 0.012/0.013
NormalContentService.BrowserNormalContent.queryNormalDocs:
prepare: 0.019/106.530 queue : 0.605/113.083 filtersReq : 0.033/97.026 handlersReq: 0.104/106.444
execute: 4.325/548.923 handlersResp: 0.001/0.051 filtersResp: 1.247/553.132 sendResp : 0.018/79.599

**通过jprofile分析
cpu占用 方法
75% io/netty/handler/codec/compression/JdkZlibEncoder.deflate
12% org/apache/servicecomb/common/rest/codec/produce/ProduceJsonProcessor.doEncodeResponse
10% 业务自身
请帮看下有没有什么分析优化思路**

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

CSE のロードテストシナリオを再現し、JProfiler の結果を確認する。まず io/netty/handler/codec/compression/JdkZlibEncoder.deflate と org/apache/servicecomb/common/rest/codec/produce/ProduceJsonProcessor.doEncodeResponse から開始する。調査した変更の前後で CPU 使用率とレスポンスレイテンシを比較すること。完了時には、検証済みの原因と最適化の方向性が特定されている必要がある。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
backend, performance
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。