模式 03: 用户态的一些性能优化方法
2020-10-17
减少系统调用
- buffer
合并
减少不必要的进程唤醒/切换
避免惊群或无效唤醒:
pthread_cond_signal
的问题, 以及替代方法
epoll_wait
边沿触发
worker数量, 通常是指进程数, 需要 <= vCPU数
golang 协程 (当前笔者不熟悉golang)
数据分片
- map reduce
- RAID0
流水线
- 多级流水线, 拉动式生产
fpart(apt-get install fpart) live mode 实现拉动式生产.
多级流水线, 在用户态, 对应的是 分布在多核上的线程/进程, 需要考虑 消息传递的损耗 和 避免单道工序耗时过长.
- 流量控制, congestion control
减少数据拷贝
调研新的系统调用/新的方法
- io_uring
- eBPF
-
本文地址: https://awakening-fong.github.io/posts/other/optimize_user_space
转载请注明出处: https://awakening-fong.github.io
若无法评论, 请打开JavaScript, 并通过proxy.
blog comments powered by Disqus