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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏carven

gulp流程控制

很久没有写博客了。 记得最近的实习生活都颇有收获,一直想着记下什么,当真正想写的时候,才发现什么都不记得了。 所有,上周刚刚有了一点小收获,赶紧得记...

10600
来自专栏Ceph对象存储方案

RGW Bucket Shard设计与优化-上

1 bucket index背景简介 bucket index是整个RGW里面一个非常关键的数据结构,用于存储bucket的索引数据,默认情况下单个bucke...

1.4K50
来自专栏JAVA高级架构开发

Redis 的各项功能解决了哪些问题?

Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。同时支持strings,lis...

11000
来自专栏程序员的SOD蜜

分布式计算,WCF+JSON+实体对象与WebService+DataSet效率大比拼

最近做公司项目,我们要整合所有业务系统的客户数据,各业务系统的数据库有的Oracle,有的是SQLSERVER,而且表结构也不相同,如何整合不同系统之间的客户数...

243100
来自专栏依乐祝

.NET Core实战项目之CMS 第四章 入门篇-Git的快速入门及实战演练

上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概...

8110
来自专栏java学习

Java每日一题_关于redirect和forward

(不定项选择题) 下面有关forward和redirect的描述,正确的是() ?

10410
来自专栏Golang语言社区

[Go语言]一种用于网游服务器的支持多路复用的网络协议处理框架

简介: 本文描述了使用Go语言实现的、适应于Go语言并发模型的一种支持多路复用的网络协议处理框架,并提供了框架的代码实现。作者将这种框架用于网络游戏服务器中的协...

383100
来自专栏后端技术探索

后端线上服务监控与报警方案

一个功能上线后,其实研发心里根本没底儿,不知道这个功能上线以后是不是真的没问题;有经验一些老同学还知道直接登录线上机器去tail -f php.error.lo...

30820
来自专栏张戈的专栏

给XFN链接关系加上“nofollow”选项

今天无意间查询了一下友情链接,发现了俺的反链有部分被加上了“nofollow”属性,查了下资料: ....它的出现为网站管理员提供了一种方式,即告诉搜索引擎"不...

35370
来自专栏CSDN技术头条

SQL事务隔离实用指南

您可能已经在数据库的文档中看到了隔离级别,感到有些手足无措。很少有日常使用事务的例子真正提到了隔离。大多数使用数据库的默认隔离级别,并希望获得最好的隔离级别。这...

20280

扫码关注云+社区

领取腾讯云代金券