IIS6日志logging是超载我的服务器

我们的负载均衡Web服务器存在一个主要问题。 如果我们为最大的网站启用了IIS日志loggingfunction,那么服务器就会陷入瘫痪,以至于我们的大部分请求都会超时。 只要我closures注销,服务器再次运行良好。 什么是一些可能的解决scheme能够login我们的networkingstream量,而不是有这个瓶颈?

我们有2个运行Windows Server 2003和IIS 6的负载平衡VMWare虚拟服务器,只处理我们的网站/networkingstream量,没有别的(数据库和邮件在不同的服务器上)。

编辑:我忘了一个皱纹是文件保存到单独的文件服务器连接到NAS。

服务器是否logging到站点所在的磁盘上? 启用日志loggingfunction后,您可以查看平均磁盘I / O时间。 将写入转移到另一个驱动器可能有助于加快速度。

如果你所关心的是被访问的实际页面(HTML,ASPX等),那么也许把你的其他静态资源(图像,CSS,JS)移动到单独的文件夹 – 如果他们还没有分离 – 然后禁用这些文件夹的日志logging。 由于每个网页通常会加载多个其他静态资源,因此您可以在logging访问您所关心的页面的同时大幅减less日志活动。

您可以考虑限制在IIS中logging的内容。 例如,假设您不需要logging对每个图像文件,脚本文件或其他的访问权限。 在IIS 6中有一个选项来限制logging的内容:

限制在IIS中logging的内容

在IIS 7中做同样的事情有点不同:

限制在IIS 7中logging的内容

我在我的Web服务器上实现了这个function,删除了图像,脚本和一些misc处理程序,并注意到日志大小比以前小了大约75%。 很显然,在这样做时,您无法查看排除项目的日志文件中的条目,但我主要关注页面访问。

我已阅读您正在login到SAN的评论。 要确认SAN的延迟特性是否导致问题,请尝试login到硬盘一天。

您应该仔细检查您的存储空间,可能其写入性能不足。 您还可以检查正在使用的RAID级别。 如果是RAID 5,则应考虑使用RAID 10,01,10E等更快的arrays。 您也可以考虑为日志创build单独的RAID卷,以免干扰IIS操作。

另外,你可能会混淆NAS和SAN。 这些是不同的技术性能明智。 如果你真的使用NAS,你应该三思,因为这种技术并不总是适合高I / O负载。