吞吐问题--3
作者:互联网
开始优化应用层!!
目前可以看出问题如下:
- read 系统调用的errors次数占比13% 这是一个问题
- read的次数太多,是不是可以调大接收缓存减少read 次数,同时使用zero_copy tcp : A reworked TCP zero-copy receive API
- write 次数比read 还多,应该可以使用聚合接口
- socket bind ioctl 使用了3178次,那么client server fd 为 3178*2=6356 及时使用setsockopt 设置TCP_NODELAY 、SO_REUSEADDR、
SO_RCVBUF/SO_SNDBUF 、SO_KEEPALIVE 、SO_REUSEPORT、TCP_DEFER_ACCEPT 、SO_LINGER等 但是次数不至于达到27.8w次 - epoll_ctl比较频繁 远大于3178 目前为5.2w
- recvfrom 失败出错率较高50%
- 使用close 后继续使用shuwdown 通shutdown 出错率大约为50%
- futex 有必要吗?
- restart_syscall 太耗时
标签:出错率,次数,--,TCP,问题,吞吐,SO,read,3178 来源: https://www.cnblogs.com/codestack/p/14663926.html