文章 链接到标题 技术 链接到标题 使用 FFMPEG 编辑视频
使用 [[ffmpeg]] 合并、裁剪视频。
Cilium 基于 eBPF 实现 socket 加速
使用BPF_MAP_TYPE_SOCKHASH 存储 socket 信息, BPF_PROG_TYPE_SOCK_OPS 拦截系统中 socket 建立连接操作 , BPF_PROG_TYPE_SK_MSG 拦截系统中 sendmsg 系统调用,提取 key,将数据直接重定向到对端 socket。
使用 eBPF socket 加速之后,吞吐量和发送消息大小呈线性关系。这是因为当应用程序发送较大的消息时,几乎没有额外的开销,但是当发送消息比较小时,使用 TCP/IP 协议栈,反而吞吐量会大于 eBPF socket 加速之后的吞吐量,这是由于 TCP/IP 栈默认开启了 Nagle 算法。Nagle 的算法是用来解决小数据包在慢速网络中泛滥导致拥塞的问题,在该算法中只要有一个 TCP 段在小于 TCP MSS 大小的情况下未被确认,就会进行批处理传输数据操作。这种批处理导致一次传输更多的数据并分摊开销,所以能超过 eBPF socket 加速之后吞吐量。但是随着发送消息越来越大,超过 MSS,TCP/IP 栈就会失去其批处理优势,在这些大数据包发送大小下,eBPF socket 加速凭借其低开销远远超过启用 Nagle 算法的 TCP/IP 栈的吞吐量。
你真的会使用 ChatGPT 吗? | 第一章:Guidelines for Prompting
感觉有点像 How-To-Ask-Questions-The-Smart-Way/README-zh_CN.