bysomeone

Results 12 comments of bysomeone

![image](https://user-images.githubusercontent.com/11565373/85945532-17cd6080-b971-11ea-8cf7-d557e806eddd.png)

在完成libp2p集成后, 进行对比测试

1. 本地双节点环境在高并发压测下也存在丢失, 主要是libp2p pubsub底层非阻塞实现, 在发送和接收端没有及时处理消息会将消息直接丢弃, 通过调整队列大小参数可以缓解 2. 主链环境网络拓扑更复杂, 但并发数较低, 后续调整队列大小,升级版本后, 进一步测试

> 1. 可以在chain33 中,添加一个日志的接口。Logger。 > 2. 然后适配 log15, zap zerolog 等。 > > 这样以后有更好的日志库以后,我们只需要重新适配就可以了。不需要修改所有写日志的地方。 好的 要研究对比下几个日志库,看能不能抽象出标准化的接口

目前追踪到假死时, 协程间存在系统调用死锁,其中一个是写日志操作,导致整个系统所有写日志阻塞,由于mempool是单线程模式,和mempool交互的协程阻塞无法处理,即协程数持续增加 ![image](https://user-images.githubusercontent.com/11565373/146147044-770d618c-0a0f-4a94-b456-0257bf44ebf9.png)

正常同步一段时间问题必现,目前环境是WSL下的ubuntu18.04,WSL1对linux内核支持不完备,大概是这个问题,后续保持跟踪

这个问题可以用最新修复版本测试下,看能不能复现出来,单纯看问题现象还是有点抽象

单节点mempool发交易之前已经测试过的,主要耗时在于签名和验签,其他流程没发现明显问题

### 测试对比 小米笔记本,solo模式,测试向mempool发送交易性能,以10s为统计时间 #### 内部接口发送交易 (直接调用client相关接口 发送) 107515 135601 ns/op 28139 B/op 398 allocs/op #### grpc 发送交易 84864 167136 ns/op 38344 B/op 583 allocs/op #### json rpc 发送交易 51940 274422...