给你一些背景
我最近买了一个Linode服务器,我已经configuration了Ubuntu 10.10 64位。 服务器将开始获得约500瑞奇/秒,将不断负荷。 服务器的主要目的是作为一个nginx反向代理。
现在我的问题是:对于服务器(除了nginxconfiguration,我想我现在相当有信心)所有的变化,我应该让我的Ubuntu的盒子,以确保其性能是最适合我的情况。 我在nginx中的Keep-Alive是0,服务器应该有最小的延迟和最长的正常运行时间。
除了nginx,我不打算做任何事情。 我过去的担心之一是ipconntrack。 我不太了解ipconntrack和iptables,为什么我需要他们,如果我禁用他们/启用他们,以及如何最好地禁用他们会发生什么。 我也看到很多次我的TIME_WAIT连接队列增加。
什么是我应该考虑优化我的服务器的其他参数
谢谢
TIME_WAIT是TCP状态,指示连接正在closures。 在繁忙的服务器上,大量的连接处于这种状态是正常的。 closures的连接将保持这种状态约4分钟,然后消失。 ipconntrac与此无关。
ipconntrac是Linux可用的状态防火墙的一部分。 基本上,它跟踪连接的状态,以便它不必检查每个数据包。 一旦连接被接受,它就被跟踪,并且可以通过检查一个已build立的状态被明确接受。 有些协议使用多个端口并使用适当的帮助模块相关连接可以获得相同的快车。
一些发行版将防火墙作为模块加载。 在这些发行版中,可以通过卸载模块和任何相关模块来禁用ipconntrac。 为防止在重新启动时加载,有一个模块黑名单机制。
除非您的服务器前面有防火墙,否则我会安装一个防火墙脚本,禁止从80和443以外的端口(如果支持HTTPS)访问互联网。 我使用Shorewall,它有一些很好的示例脚本。 在你的情况下,这两个接口的例子将是一个很好的起点。