talkincode / toughradius

toughradius provides radius server, tr069 acs
http://www.toughradius.net
GNU General Public License v3.0
564 stars 272 forks source link

换了一个工具,还是,小压力,随机测试,导致java进程cpu占用100% #115

Closed someonebw closed 4 years ago

someonebw commented 5 years ago

1.测试工具 https://github.com/talkincode/JRadiusTester

并发200,随机测试。 ####################################################

Bras Simulation: Total = 2000, Concurrent = 200

AccessRequest: 200

AccessAccept: 200

AccessReject: 0

AccessDrop: 757

AccountingRequest : 32

AccountingRequest : 0

AccountingRequest : 0

AccountingRequest: 32

AccountingResponse: 32

AccountingDrop: 0

Maximum QPS: 40

#####################################################

测试文本中 //2000用户。

2.toughradius版本 6.1.1.3版本。 用户库测试用户100000个。 默认安装。 centos 7 ,8 core 8gmem

3.toughradius日志里面的错误,出现大量如下://都是这个错误“记账报文重复” 2019-07-18 04:07:04.256 TOUGHRADIUS [acctExecutorFilterPool-3-thread-6] ERROR - kfogrq:璁拌处?ユ.?.? 2019-07-18 04:07:04.256 TOUGHRADIUS [acctExecutorFilterPool-3-thread-4] ERROR - lac:璁拌处?ユ.?.?

4.查看java进程中,挂起的线程。发现,没有占用cpu量,特别大的线程。 通过show-busy-java-threads脚本定位有问题的threads(https://github.com/oldratlee/useful-scripts

结果见附件txt文本。 按照busy程度排序的。

someonebw commented 5 years ago

show-busy-java-threads.txt

jamiesun commented 4 years ago

已修复, 由于使用java自旋锁导致, 自旋锁不应该使用在不确定耗时的任务中