专栏首页F-Stack的专栏F-Stack Q&A 第二期

F-Stack Q&A 第二期

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 的分布式文件系统是怎么样的,效率提高的明显吗? A3:目前有基于SPDK做的ceph系统,ceph在SPDK上有非常明显的提升,使用了全用户态的磁盘IO驱动,并使用DPDK作为网络IO。F-Stack的roadmap中有计划要把SPDK的用户态驱动集成进来。 Q4:有使用F-Sstack来做路由器或NAT设备的吗,开发起来方便么? A4:我们正在移植netgraph工具,完成后基本上不用开发,配置一下就可以使用。

Q5:现在很多cdn厂商在边缘节点部署AppEx的TCP加速产品,那F-Stack也提供TCP加速功能吗? A5:F-Stack在腾讯云有配合使用的TCP加速产品libtcpa.so,但未包含在开源组件中。后期如果FreeBSD协议栈社区版本融合了BBR,我们也会进行跟进。在F-Stack移植完netgraph后也会提供相关的hook接口,可以自行在用户态进行开发尝试相关拥塞算法的调整。 Q6:服务器上一个软件用F-Stack,一个软件用普通socket,这样通信是可以的吧,还是说需要交换机才行? A6:F-Stack不支持与本地socket的通信,但支持通过KNI与内核通信,通过简单修改可以实现相互通信,但KNI有比较严重的性能问题,不建议跑业务流量。后续会增加本地socket接口的支持用户本地进程间通信。 Q7:现在F-Stack的宿主程序是独占网卡吗? A1:F-Stack启动后就会接管并独占网卡,但可以通过KNI与内核通信。后续在移植完netgraph后可以支持HOOK、镜像、分流等操作,同时支持多种应用。 Q8:如果在F-Stack的IP层要支持IPSec,有什么建议吗? A8:F-Stack使用的FreeBSD协议栈包含IPSec模块,但当前尚未编译进F-Stack,后续将会支持。 Q9:请问Nginx如何测试http请求的呢? A9:我们使用了wrk测试http的性能,在多个客户端同时对Nginx进行压测。 Q10:有用DPDK做四层负载均衡?有经验可以分享分享么? A10:如果直接使用DPDK做四层负载均衡,需要注意以下几个方面。 1. 连接状态保存和路由表查询,这个使用DPDK自带的库(librte_hash)或自己实现都比较容易。 2. 集群容灾,多个DPDK4层LB要组成集群(比如用OSPF),来保证即使一台LB挂掉,原有连接不断开。 3. 如果RS只有内网IP,通过LB上绑定外网IP抓发到内网RS的话需要再多台LB之间要共享连接状态(可以采用组播方式来同步连接信息,减少资源占用),LB转发向后端RS的时候有几种方式,如果并发比较小,可以考虑直接使用NAT方式,如果并发访问比较多,建议用tunnel,比如IP-IP、Vxlan、GRE等,但后端RS也要进行对应的配置来支持unnel。 4. 如果外网IP充足,可以考虑使用DR(direct route)方式,减少开发和配置工作量。 另外F-Stack正在移植FreeBSD的各种网络工具,再移植完成后可以考虑使用netgraph直接配置支持负载均衡;而且F-Stack已经集成了Nginx,Nginx也是支持四层负载均衡的。 Q11:请问一下,F-Stack 的文档中好像没有提到 UDP 的 QPS,实际应用中 DNS SERVER 使用 F-Stack 能达到多大的 QPS 呢,测试配置任何?DNS压测使用了什么工具呢,是否会统计压测成功率等信息? A11:F-Stack 授权DNS应用在10GE网卡(X540-AT2或82599EB)上测试是1100万QPS,接近10GE网卡的线速。 DNS性能压测,常用的dnsperf和queryperf,性能都不高,可以自己通过pktgen-dpdk (http://dpdk.org/browse/apps/pktgen-dpdk/refs/)等工具自行编写压测客户端,并统计成功率等信息。DNS压测工具可以考虑无状态的压测,可以提高压测工具的压测能力。 Q12:F-Stack上可以跑 libev 或 libevent 吗? A12:libev和libevent是可以移植到F-Stack的。

Q13:能提供DPDK 中国峰会2017的PPT和视频吗?

A13:F-Stack PPT下载地址:

https://dpdksummit.com/Archive/pdf/2017Asia/DPDK-China2017-Wang-FStack.pdf

F-Stack 视频资料地址:

http://www.itdks.com/dakashuo/detail/2620#

本文分享自微信公众号 - FStack(F-Stack),作者:F-Stack

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • F-Stack 全用户态 (Kernel Bypass) 服务开发套件

    F-Stack 是一个全用户态的高性能的网络接入开发包,基于 DPDK、FreeBSD 协议栈、微线程接口等,用户只需要关注业务逻辑,简单的接入 F-Stack...

    F-Stack
  • F-Stack Q&A 第三期

    Q1:如果在一个阻塞型的socket上执行recv,会不会把相应的线程卡死,调用recv时该socket中没有数据包,导致sleep,sleep导致该线程没办法...

    F-Stack
  • F-Stack Q&A 第一期

    Q1:F-Stack有中断模式吗,有计划支持吗?在计算密集型的应用中,轮询模式会占用更多的CPU资源? A1:F-Stack暂时只支持轮询模式,后续会支持中断+...

    F-Stack
  • 关于栈的简单应用的小例子

    栈是一种只允许在一端进行插入和删除操作的线性表。在栈中,进行操作的一端叫做栈顶,相应地,另一端称为栈底。

    Reborn Lee
  • C++中的stack类、QT中的QStack类

    C++中的stack 实现一种先进后出的数据结构,是一个模板类. 头文件 #include<stack> 用法(以int型为例): stack <int> s;...

    张诺谦
  • java进阶|Stack源码解析和理解

    Stack这个数据结构还是比较容易理解的,满足LIFO,即先进后出,看下它的结构图,然后分析一下源码进行理解一下。

    后端Coder
  • 栈的基本操作就是出栈和入栈,这两个的时间复杂度都是O(1) 数据结构 typedef struct Stack{ int data[MAXSIZE]; ...

    用户1154259
  • C++初始化列表

    一、什么是初始化列表 与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段 二、...

    用户1215536
  • gcc 编译参数 -fno-strict-aliasing

      最近在项目中遇到一个问题,当使用double类型数据时,在进行jce编解码后会出现乱数据问题,比如encode一个数据.

    huanghaibin33
  • 20年前的吴恩达,藏在一个数据集里

    今天这张照片火了。连正主吴恩达都在推特上转发了这张黑白照片。吴恩达回忆说,这张照片拍摄于大概20年前~

    量子位

扫码关注云+社区

领取腾讯云代金券