腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
F-Stack的专栏
专栏成员
举报
30
文章
126146
阅读量
137
订阅数
订阅专栏
申请加入专栏
全部文章(30)
编程算法(14)
linux(13)
开源(12)
tcp/ip(7)
nginx(6)
api(4)
dns(4)
系统架构(4)
github(3)
ipv6(3)
腾讯云测试服务(2)
http(2)
cdn(2)
云服务器(1)
负载均衡(1)
DNS 解析 DNSPod(1)
单片机(1)
汇编语言(1)
数据库(1)
打包(1)
负载均衡缓存(1)
缓存(1)
ssh(1)
大数据(1)
安全(1)
https(1)
ld(1)
preload(1)
stack(1)
接口(1)
进程(1)
搜索文章
搜索
搜索
关闭
F-Stack LD_PRELOAD 测试版介绍
ld
preload
stack
接口
进程
跳票许久许久的LD_PRELOAD功能模块(后续以 libff_syscall.so 代替)在 F-Stack dev 分支的 adapter/sysctall 目录下已经提交,支持 hook 系统内核 socket 相关接口的代码,降低已有应用迁移到 F-Stack 的门槛。下面将分进行具体介绍, 主要包括libff_syscall.so 相关的架构涉及其中的一些思考,支持的几种模式以及如何使用等内容。 总体结论: 原有应用程序的接入门槛比原本的 F-Stack 有所降低,大部分情况下可以不修改原有的用户
F-Stack
2023-05-04
888
0
ff_ipfw策略路由使用示例2则
编程算法
linux
nginx
https
tcp/ip
以下是 ff_ipfw 工具在实际使用 F-Stack 应用中的 2 则配置策略路由的示例,分别为透明代理应答包和多 vlan vip 应答包的场景,可以供使用者参考。 透明代理策略路由设置 因为透明代理的源 IP 是实际客户的 IP,在实际服务接受处理完响应包返回时会返回给实际的客户 IP,所以需要配置将回包发到 Nginx 进行处理,这里的上游服务分别为本机和其他服务器上。 路由配置 F-Stack(FreeBSD) 上游回包的策略路由设置参考 # upst
F-Stack
2022-11-14
822
0
F-Stack 1.22 & 1.21.2(LTS) 发布
ipv6
tcp/ip
编程算法
开源
linux
F-Stack 1.22 & 1.21.2(LTS) 版本已发布,其中1.22的最重要变化有以下两个:1. FreeBSD 升级至 FreeBSD-releng-13.0, 已经可以支持 BBR, 在特定场景下性能比 cubic 可以提高 10 倍以上。 2. DPDK 升级至 20.11, 编译方式相比 19.11 去除了常规 make 编译方式,使用上会有较大变化。 具体变更内容如下所示。 2022.09 F-Stack v1.22 1. FreeBSD Upgrade to FreeBSD-rel
F-Stack
2022-09-06
924
3
F-Stack发送零拷贝介绍
缓存
开源
编程算法
数据包在服务器的处理分接收和发送两个方向,收包方向因为我们自己本身的业务场景涉及收包数据很少,后续另行介绍。 本文主要介绍F-Stack发包方向上当前的零拷贝处理方案、效果和应用场景的选择,发包方向上的数据拷贝目前主要为两个阶段,一是协议栈数据拷贝到DPDK的rte_mbuf中,二是应用层调用socket发送接口时会将数据从应用层拷贝到FreeBSD协议栈,下面将分别进行介绍。 协议栈到DPDK 该过程的零拷贝实现由 @jinhao2 提交的Pull Request #364 合并到F-Stack主线中,相
F-Stack
2022-04-18
1.2K
0
F-Stack常用配置参数介绍
编程算法
开源
ipv6
tcp/ip
linux
目前F-Stack的配置文件中包含有以下8个部分,下面将分别进行简单的介绍: [dpdk]、[pcap]、[portN]、[vdevN]、[bondN]、[kni]、[freebsd.boot]、[freebsd.sysctl] [DPDK] 设置运行DPDK的相关参数,如果是DPDK也有的参数,则含义和使用方法同DPDK参数。 lcore_mask 16进制位掩码,用于设置进程运行在哪些CPU核心上。如fc表示使用CPU第2-7个核,不使用第0和1核。 建议优先使用物理核,数据尽量不要跨NUMA节点交互,
F-Stack
2022-04-11
4.5K
2
F-Stack 已支持 FreeBSD 13.0 正式版
腾讯云测试服务
linux
ipv6
dns
tcp/ip
FreeBSD 13.0 正式版在 4 月份发布,正式支持了 BBR,我们在 7 月底开始进行 FreeBSD 13.0 的升级工作,用了2个周的空闲时间进行了 lib 库的基本移植,但是后续个人大量精力投入了 F-Stack 父项目-腾讯云 DNSPod 权威 DNS 以及年中工作考核上,导致后续移植升级没有进展,最近半个月才抽出时间完成了对 FreeBSD 13 的基本调试和测试,目前代码已经已经提交到 github 上的 dev 分支。 目前相关代码还未完成全部调试和测试,还存在一些
F-Stack
2021-10-08
1.1K
1
如何优雅的调试段错误
汇编语言
linux
单片机
摘要:当程序运行出现段错误时,目标文件没有调试符号,也没配置产生 core dump,如何定位到出错的文件和函数,并尽可能提供更详细的一些信息,如参数,代码等。 第一板斧 准备一段测试代码 018.c #include <stdio.h> int main(int argc, char *argv[]) { FILE *fp = NULL; fprintf(fp, "%s\n", "hello"); fclose(fp); return 0; } 编译运行 $ gcc 0
F-Stack
2020-05-18
4.6K
0
F-Stack vlan 的支持与使用
编程算法
开源
腾讯云测试服务
tcp/ip
限于 Vlan 测试环境的缺失, F-Stack 项目初期未对 Vlan 进行完全的支持,仅支持配置是否进行 Vlan 的硬件卸载,当交换机配置了服务器返回的包无需打 Vlan tag 时可以正常使用,但如果交换机要求回报需要打 Vlan tag 则无法正常工作。 近期收到了网易 dragonorloong 同学关于 Vlan 的 Pull request,并且找到了 Vlan 测试环境对 Vlan 进行了完整的支持和测试,对以上问题进行了修复。本文将简单介绍 F-Stack
F-Stack
2019-09-06
2.2K
1
F-Stack IPv6 的支持与使用
编程算法
tcp/ip
打包
开源
nginx
限于某些原因 F-Stack 项目之前是未对 IPv6 进行支持的,随着 IPv6 需求的增多,近期对 IPv6 进行了支持。本文将简单介绍 F-Stack 支持 IPv6 所做的修改,如何使用以及相关注意事项。 F-Stack 如何支持 IPv6 以下所列为 F-Stack 支持 IPv6 所进行的修改,具体改动细节可查看 github 相关 commits。 F-Stack 框架支持 在 Makefile 中定义 IPv6 相关的宏INET6及需要包含编译的文件NETINET6_SRC
F-Stack
2019-08-16
5.2K
1
F-Stack 1.20 Roadmap
编程算法
开源
tcp/ip
F-Stack 1.20 将于 2019Q3 发布, 同步 Roadmap。 已支持: 支持在 docker 中运行 支持客户端 bind/connect 移除发送数据包时协议栈到 DPDK mbuf 的 mcopy 该功能需在 Makefile 开启 FF_USE_PAGE_ARRAY 选项。 支持 IPv6 F-Stack 框架支持 IPv6。 ifconfig、route、netstat 工具支持 IPv6 相关配置。 支持ICMPv6(NUD和MLD), 不支持DHCPv6。 在 AW
F-Stack
2019-08-07
1.5K
0
F-Stack 助力 HTTP 网络服务器性能提升
cdn
nginx
github
HTTP 协议因其易用性和普适性得到了大规模的普及,我们说HTTP协议是互联网的基石一点也不为过,当前提供HTTP服务的Server性能要求越来越高,如何提高 HTTP 服务器的性能变得非常重要。近年来网卡性能快速发展,给高性能HTTP服务提供了硬件支持,但是linux 内核却越来越成为高性能网络服务器的瓶颈。 HTTP 的传输层协议为 TCP ,TCP作为面向连接的协议能够提供可靠传输,但是在性能有非常大的短板,尤其在短连接网络业务服务中,受限于PCB表锁竞争等因素,系统内核大并发创建 T
F-Stack
2018-01-31
6K
1
F-Stack KNI配置注意事项
系统架构
ssh
F-Stack KNI配置注意事项 KNI介绍 KNI(Kernel NIC Interface)内核网卡接口,是DPDK中用于与内核通信的模块,在主要的业务流程中可能并不需要,但在部分场景下,如服务器所有网卡都被F-Stack接管用于业务(或服务器本身只有单网卡),其他如SSH登录管理等数据等就必须开启KNI来与内核进行数据交互。 KNI配置 因为开启KNI将对收到所有的数据包按转发策略进行检查,会对性能造成一定的影响,所以在F-Stack中默认配置关闭了KNI选项,如有需要可以在控制文件config
F-Stack
2018-01-31
1.9K
1
用DPDK rte_ring实现多进程间通信
编程算法
开源
F-Stack是多进程架构,去除了进程间资源共享来达到更高的性能,但还是有部分控制信息需要在进程间同步,使用rte_ring让多个进程间的通信变得十分简单。 rte_ring在F-Stack中主要用于: 1.各个进程间ARP包的广播 2.KNI的转发 3.与工具(sysctl等)进行通信。 rte_ring是一个用CAS实现的无锁FIFO环形队列,支持多消费者/生产者同时出入队列,常用于多线程/多进程之间的通信。具体原理可以查看DPDK官方文档或者阅读源码,本文主要是介绍如何使用rte_ring来进行多进程
F-Stack
2018-01-31
3.7K
0
FreeBSD下的工具(sysctl、netstat等)如何移植到F-Stack
linux
github
F-Stack基于DPDK,绕过内核的协议栈,移植了FreeBSD协议栈到用户态,在大幅提高性能的同时,常规网络设置分析工具(如sysctl、netstat、ifconfig、route等)都无法直接使用。但是由于在用户态运行了FreeBSD的协议栈,我们可以移植FreeBSD下的这些工具到F-Stack。 移植的关键是这些工具要能与F-Stack进程通信,在之前的文章中,我们介绍了如何使用DPDK rte_ring来进行多进程的通信,tools/ipc目录就是基于rte_ring实现了一个简单的ipc框架
F-Stack
2018-01-31
1.6K
0
F-Stack与Seastar对比
linux
dns
本文是将知乎网友的提问 《如何评价腾讯开源的基于 DPDK 和 BSD 协议栈的网络框架 f-stack?》,将回答讨论内容和我们的一些想法进行了整理。 项目背景 F-Stack 这个项目起始于DNSPod的授权DNS项目,当时是12年,DPDK还未开源的时候,我们就基于DPDK做了授权DNS,做完的时候正好DPDK也开源了,正式上线后10GE单网卡性能达到1100万qps,后面又实现了一个简易的TCP协议栈用于支持TCP DNS。 后来DNSPod合并进入腾讯云,腾讯云有大量业务需要高性能的接入服务,而D
F-Stack
2018-01-31
3.2K
3
F-Stack之kqueue封装为epoll介绍
api
github
F-Stack是一个全用户态的高性能的网络接入开发包,基于DPDK、FreeBSD协议栈、微线程接口等,适用于各种需要网络接入的业务,用户只需要关注业务逻辑,简单的接入F-Stack即可实现高性能的网络服务器。 F-Stack中使用的FreeBSD协议栈的高性能异步事件通知的API是kqueue,而Linux系统上则是我们熟悉的epoll,大量的Linux网络server都是基于epoll事件通知机制,为降低已有服务器接入F-Stack的修改难度,F-Stack协议栈实现了把
F-Stack
2018-01-31
2.1K
0
全用户态网络开发套件F-Stack架构分析
api
系统架构
F-Stack是一个全用户态(kernel bypass)的高性能的网络接入开发包,基于DPDK、FreeBSD协议栈、微线程接口等,适用于各种需要网络接入的业务,用户只需要关注业务逻辑,简单的接入F-Stack即可实现高性能的网络服务器。 本文介绍F-Stack的详细架构及如何解决内核协议栈面临的问题。 传统内核协议栈的性能瓶颈 在传统的内核协议栈中,网络包处理存在诸多瓶颈,严重影响网络包的收发性能。性能瓶颈主要包括以下几个方面 局部性失效 - 一个数据包的处理可能跨多个CPU核心、缓存失效、NUM
F-Stack
2018-01-31
4K
7
F-Stack Q&A 第一期
linux
系统架构
Q1:F-Stack有中断模式吗,有计划支持吗?在计算密集型的应用中,轮询模式会占用更多的CPU资源? A1:F-Stack暂时只支持轮询模式,后续会支持中断+轮询模式,避免与计算密集型业务抢占CPU及节省能源。 Q2:F-Stack如何实现zerco copy? A2:目前F-Stack尚未做到完全零拷贝。在收包时使用FreeBSD的mbuf ext add可以避免拷贝。在发包时尚存在拷贝,后续会优化为无拷贝,主要的方案是自己实现内存管理,完全使用hugepage。 Q3:F-Stack的运行环境有何
F-Stack
2018-01-31
3K
0
F-Stack参加 DPDK中国技术峰会2017
系统架构
api
由 DPDK社区和英特尔主办的 DPDK中国技术峰会2017 于6月27日在上海举行,Intel、腾讯云、中兴、美团云、Panabit、太一星辰、UnitedStack、云杉网络等参会并进行了主题分享。 该次峰会在一天里安排了多达16个议题,但即使到晚上峰会结束时整个会场依然座无虚席,属于少见的纯干货技术峰会,未到现场参加可以通过文末链接下载PPT和观看视频回放。 F-Stack在峰会进行了《F-Stack, a full user space network service on
F-Stack
2018-01-31
1.5K
0
F-Stack Q&A 第二期
dns
http
nginx
负载均衡
负载均衡缓存
Q1:请问再视频领域,媒体服务器,使用F-Stack是否合适? A1:F-Stack在纯推流的模式上是支持且合适的,如果有转码服务等计算密集型服务,需要等我们支持中断+轮询模式之后更合适。 Q2:请问,安装F-Stack对网卡有没有要求? A2:F-Stack使用了DPDK作为网络模块,网卡要求与DPDK相同,具体支持网卡列表请参考《list of supported NICs》(http://dpdk.org/doc/nics)。 Q3:基于 F-Stack 的分布式文件系统是怎么样的,效率提高的明显
F-Stack
2018-01-31
3K
0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档