让你的服务器NB起来吧(提高网络吞吐量)

Here you will find information on how to tune Linux, Mac OSX, and FreeBSD hosts connected at speeds of 1Gbps or higher for maximum I/O performance for wide area network transfers. Note that several of the tuning settings described here will actually decrease performance of hosts connected at rates of 100 Mbps or less, such as home users.

  • Background Information Proper host tuning can lead to up to 100x performance increases. Here are the reasons why.
  • Linux Tuning This page contains a quick reference guide for Linux 2.6 tuning, TCP Tuning, NIC tuning, and more for Linux 2.6. See also in this category, the Linux Tuning Expert page and Measurement Host Tuning.
  • Mac OSX Tuning Tuning settings for Mac OSX.
  • FreeBSD Tuning Tuning settings for FreeBSD.
  • MS Windows Tuning settings for Microsoft Windows.
  • Other Operating Systems Tuning Information on Solaris and other OSes.
  • ESnet perfSONAR Tuning In the fall of 2014, ESnet increased the default values of performance test nodes.  The settings had previously used a maximum value of 128M, and a nominal value of 64M.  The settings are now larger than fasterdata defaults, and appear below: net.core.rmem_max = 268435456net.core.wmem_max = 268435456net.ipv4.tcp_rmem = 4096 87380 134217728net.ipv4.tcp_wmem = 4096 65536 134217728 Modifying these settings has two impacts, positive and negative: More memory is allocated for every single TCP…
  • NIC Tuning Vendor specific NIC tuning information.
  • Interrupt Binding On a system with multiple 10G NICS, a 20-30% performance increase can be obtained by ensuring that the NIC driver interrupts are handled by the same CPU core as the read process/thread. This page shows you how.
  • Virtual Machines We don‘t have a lot of experience tuning virtual machines for network throughput, but here are a few points that people have told us. Please send us updates/corrections to the information on this page. To get the best network performance on a Linux VM running on a native Linux host, increase txqueuelen in host OS, and set all other tuning parameters in the guest OS. For more information see: KVM Tuning XEN Tuning VMWare Tuning  (use the VMXNET3 driver)
    • Packet Pacing When sending from a 10G host to a 1G host, it is easy to overrun the reciever, leading to packet loss and TCP backing off. Similar problems occur when a 10G host sends data to a sub-10G virtual circuit, or a 40G host sending to a 10G host. Methods to control the burst behavior of an application or OS can be introduced at the host.  Tools such as Linux‘s tc and FreeBSD‘s ipfw offer a robust and predictable way to introduce QoS behavior at the source of traffic, which helps avoid packet loss.
    • 40G Tuning For hosts with 40G ethernet NICS, there are a number of additional things you might need to think about if you want individual flows to be more than 5-9Gbps. First of all, if you have a 40G NIC you are probably using a NUMA-based Intel "Sandy/Ivy Bridge" motherboard. For hosts with more than 1 processor socket, this means you need to worry about what core is being used for both the interrupts and for your applications. At the present time (February 2015), CPU clock rate still matters a lot for…
时间: 2024-10-25 00:24:10

让你的服务器NB起来吧(提高网络吞吐量)的相关文章

【spring】通过GZIP压缩提高网络传输效率(可以实现任何资源的gzip压缩、包括AJAX)

 [spring]通过GZIP压缩提高网络传输效率(可以实现任何资源的gzip压缩.包括AJAX) gzip是http协议中使用的一种加密算法,客户端向web服务器端发出了请求后,通常情况下服务器端会将页面文件和其他资源,返回到客户端,客户端加载后渲染呈现,这种情况文件一般都比较大,如果开启Gzip ,那么服务器端响应后,会将页面,JS,CSS等文本文件或者其他文件通过高压缩算法将其压缩,然后传输到客户端,由客户端的浏览器负责解压缩与呈现.通常能节省40%以上的流量(一般都有60%左右),一

【服务器】构建高性能Linux网络服务器

关键 高性能网络服务器的关键在于并发,如何高效的使用多核心的服务器,让多个线程并发处理程序. 并发方式 基于时间的并行 基于空间的并行, 其他提法, 在计算机内部,最本质的是时间(CPU)和空间(内存)这两种资源,各种并行的界限并没有那么明显.所谓基于时间的并行,有两只猫,共同看守一个大仓库,但一个工作,另一个睡觉,两者不同时工作.所谓基于空间的并行,将仓库分为两个部分,这样两只猫可以分别看守不同的部分,两只猫在工作不紧张的时候就可以睡觉. 网络并发程序优化 对于网络并发程序,可以从各个角度进行

Python服务器开发二:Python网络基础

Python服务器开发二:Python网络基础 网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip协议等,高层协议如HTTP,telnet协议等,HTTP是TCP/IP的一个子协议. socket是对TCP/IP协议的封装和应用(程序员层面上).也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如

如何依靠代码提高网络性能

我们可以通过减少文件大小和本地缓存来达到减少http请求,从而提高响应速度. 下面几个方法可以达到这个目的: 1).尽量减少对http提出请求,减少对图片的加载:可以用css Sprites(精灵)合成图片,根据位置大小确定具体使用图片. 2).使用CDN(CDN:将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率.解决因分布.带宽.服务器性能带来的访问延迟问题,适用于站点加速.点播.直播等场景)存放静态网页: 3).把样式文件放在网站<head>部分:

Linux多网口绑定配合华为5700 eth-trunk技术,提高网络性能

在实际的环境中,服务器通过网口绑定技术,可以很容易的实现网口冗余,负载均衡,从而达到高可用的目的,而且可以提升网络的性能,大幅的提升网络I/O. 一般情况下,Linux的多网口绑定使用的是内核中的"bonding"模块,目前发行的各个Linux版本内核中都已经包含了该模块. 这里演示一下绑定的过程.将测试服务器的eth2,eth3两个网卡绑定成一个逻辑接口. 第一步:创建逻辑接口bond0的配置文件: # vim ifcfg-bond0 DEVICE=bond0 BOOTPROTO=n

提高网络效率的总结

1. 异步化, 以epoll为代表.libevent也是基于epoll而实现的. 2. 消息驱动, 是跟异步化相结合,reactor模式.另有Scala的Actor模式,是完全的消息交互. 3. 一些TCP参数, 比如禁掉Nagle选项,不要打开CORK算法,使得发包和ack不要延迟太多. 4. SO_LINGER 解决TIME_WAIT状态过多的问题.尤其是短连接.可以参考 http://www.cnblogs.com/jdonson/p/4760110.html 如下: 不管长连接还是短连接

设置Outlook客户端连接Exchange 2010服务器在低速或高速网络均使用https

我们都知道outlook配置了Exchange模式(MAPI/RPC和RPC  Over Https)时.当Outlook客户端位于低速网络或内网时,Outlook将使用RPC/TCP(也就是通常说的mapi模式)连接服务器:当Outlook位于高速网络或外网时,将自动使用RPC/HTTPS(即OutlookAnywhere).在Outlook的配置如下图: 如果我们要实现让Outlook客户端不管是在内网.低速网络或者外网.高速网络均通过OutlookAnywhere模式连接到Exchange

服务器能远程连接,网络连接正常,但是外网域名Ping不通,浏览器中打不开网站

服务器能远程连接成功,但在浏览器中打不开任何网站,出现这个问题一般是安装什么软件引起IE的相关设置做了变动或者是服务器中了病毒引起的,或是服务器的DNS设置是错误的. 一.先检查服务器DNS是否正确 服务器的DNS是其自身用于解析域名的,如果DNS错误,服务器里就无法解析域名,那么服务器内就不能访问网站了. 1.在CDM或运行中运行 ncpa.cpl 命令 2.本地连接属性 c.选中 -- TCP/IPv4 -- 属性 d.修改服务器的DNS 一般常用的DNS有 8.8.8.8    114.1

MMORPG大型游戏设计与开发(服务器 游戏场景 掉落与网络连接)

时间一点点的消逝,伴着自己空闲日子将要结束的时候我尽量的学习和分享场景和AI的知识给朋友们,不过很遗憾的是这些文章还有不足的地方,就是有的难点没有完全的分析到.掉落在游戏中必不可少的,同时网络连接也是网络游戏中的核心部分,那么这两个东西又怎么和场景关联起来的? 一张截图 掉落(管理器) 1.初始化(init) 根据地图的长宽初始化掉落点数据. 2.是否可掉落(is can drop) 传入坐标返回该点是否可以掉落. 3.设置掉落点(set drop position) 传入一个坐标,并将该点设置