Fastsocket

高性能的内核 Socket 实现
授权协议 GPLv2
开发语言 C/C++
所属分类 程序开发、 高性能网络开发库
软件类型 开源软件
地区 国产
投 递 者 上官联
操作系统 Linux
开源组织 新浪
适用人群 未知
 软件概览

Fastsocket 是一个高扩展性的 Socket 以及 Linux 内核的底层网络实现。可以在多核机器上提供极好的性能,此外使用和维护还非常简单。目前该项目已经在新浪的生产环境中使用。该项目由清华大学和新浪网联合组成的 Fastos 团队开发,该团队的使命是提升 Linux 内核的效率。

Fastsocket 目前已经使用在新浪微博的生产环境上,主要用于提供负载均衡服务的 HAProxy,线上实际性能提升一倍,从2014年3月份稳定运行至今,预计2014年底完成负载均衡全部集群的 Fastsocket 升级。

Fastsocket 完全兼容 BSD Socket API,现有各类基于 Socket 的网络应用可以直接使用 Fastsockt。 目前经过兼容测试的常用服务软件有:HAProxy、Nginx、Lighttpd、Redis 和 Memcached。

安装编译:

[root@localhost ~]# git clone https://github.com/fastos/fastsocket.git

[root@localhost ~]# cd fastsocket/kernel
[root@localhost kernel]# make defconfig
[root@localhost kernel]# make
[root@localhost kernel]# make modules_install
[root@localhost kernel]# make install

下面是一些使用了 Fastsocket 后的性能测试结果:

Throughput

Online

  • 最近在GitHub上发现了FastSocket框架。初步用了一下发现实现很简单。几个Command类把需要执行的命令封闭起来,框架实现了协议,分包等功能。用户无需关心。用了一段时间发现少了两个比较主要的功能,心跳,回调。网上也没找到相关的文档。干脆自己实现。 一、首先是Server端。 第1步添加一个CallbackCommand public class CallbackCommand :

  • 下面所有编译安装操作是以 root 用户权限进行操作 编译安装fastsocket内核 下载代码到/opt目录下  git clone https://github.com/fastos/fastsocket.git 编译安装 下载之后进入其目录  cd fastsocket/kernel 涉及到内核,编译之前需要做一些参数选项配置,使用make config会累死人的。 好几千个选项参数需要一一

  • FASTSOCKET FASTSOCKET   It looks like there are like 3 separate optimizations, but I think the most important one is the "enable_listen_spawn" feature. Here is how they describe it: Fastsocket creates

  • 示例代码参见  http://www.cnblogs.com/T-MAC/p/fastsocket-asyncbinary-usage.html 我这里只写一份客户端如何被动接收的代码。   先从AsyncBinarySocketClient继承定义一个客户端类,重载OnConnected,OnDisconnected,OnMessageReceived等方法。 usingSystem;using

 相关资料
  • 本文向大家介绍C#中一个高性能异步socket封装库的实现思路分享,包括了C#中一个高性能异步socket封装库的实现思路分享的使用技巧和注意事项,需要的朋友参考一下 前言 socket是软件之间通讯最常用的一种方式。c#实现socket通讯有很多中方法,其中效率最高就是异步通讯。 异步通讯实际是利用windows完成端口(IOCP)来处理的,关于完成端口实现原理,大家可以参考网上文章。 我这里想

  • null 基本上,具有内存缓存和可以响应命令的服务器的机器的普通香草实现和Redis盒子之间有什么区别?我也明白答案需要非常庞大,并且应该包括非常复杂的细节来完成。但是,我要找的是一些通用的技术,而不是所有的细微差别。

  • 我有一个连接到第三方服务并将结果返回给客户端的应用程序。在内部,应用程序向第三方服务发出GET请求并获取结果。我已经使用Reactor和reactive代码在重负载下扩展应用程序。这是一个SpringBoot项目,它运行嵌入式Tomcat并依赖于Web客户端(被动netty向第三方发出请求)。不知何故,CPU利用率和响应时间都比阻塞模式差。硬件设置在Kubernetes中运行单核。 该项目建立在库

  • 问题内容: 我正在测试内核异步io函数(不是posix aio),并试图弄清楚它是如何工作的。下面的代码是一个完整的程序,其中我简单地将一个数组重复写入使用O_DIRECT打开的文件中。我在回调函数中收到一个错误“写错的字节期望1024得到0”(请参阅​​work_done()中的fprintf语句)。 对于不熟悉内核aio的用户,以下代码将执行以下操作: 初始化一些结构 准备AIO(io_pre

  • 内核能力机制 能力机制(Capability)是 Linux 内核一个强大的特性,可以提供细粒度的权限访问控制。Linux 内核自 2.2 版本起就支持能力机制,它将权限划分为更加细粒度的操作能力,既可以作用在进程上,也可以作用在文件上。 例如,一个 Web 服务进程只需要绑定一个低于 1024 的端口的权限,并不需要 root 权限。那么它只需要被授权 net_bind_service 能力即可

  • 问题内容: 我正在寻找Redis,以便为我提供一个中间高速缓存存储,其中包含有关交集和并集之类的集合操作的大量计算信息。 我查看了redis网站,发现redis不是为多核CPU设计的。我的问题是,为什么会这样呢? 另外,如果是,我们如何在多核CPU上使用Redis来100%利用CPU资源。 问题答案: 我查看了redis网站,发现redis不是为多核CPU设计的。 我的问题是,为什么会这样? 这是