本帖最后由 外星人群控 于 2024-9-18 04:21 编辑
关于通讯服务端(HPSocket)异常闪退和卡死的分析
根据外星人安卓群控(xx脚本)挂机过程中,
1. 手机端上线超过600台
2. 运行3-12小时,信息处理500万-1千万条
就会经常出现:信息线程池阻塞,手机端批量下线,主程序假死无响应的情况.
之前猜测的原因:
1.线程中频繁操作组件(超级列表框_设备)
2.并发操作数据库,造成死锁,返回数据慢,线程阻塞卡死
3.主程序和DLL插件高并发交互,内存溢出(概率小)
现在经过E5联盟机房系统的服务端测试,重新发现可能是以下的原因,概率很大,还在测试中。
1.在初始化绑定监听器之前,未设置通信数据缓冲区大小和其他微调
设置前后的效果对比:
1.外星人安卓群控,1秒处理500条信息
2.E5联盟机房系统,1秒处理1700条信息
压测过程中,资源占用情况:
1.客户端从4.6万掉线到3.5万(客户端问题)
2.运行8个小时,稳定50线程处理信息5千万条
3.内存占用稳定(630MB)
4.句柄使用正常(8.6万)
5.CPU占用稳定30-50%
6.以太网发送:600Kbps-4.2Mbps
7.以太网接收:300Kbps-2.5Mbps
压测运行图
|