我有许多ASP.NET MVC网站在Windows2003Box上运行IIS6。
启用IIS6压缩会对性能产生任何影响吗?
谢谢
保罗
发布于 2011-09-07 16:53:51
静态压缩是一次命中,然后缓存以供以后使用.所以很少有问题。
但是,由于您有一个MVC站点,您也将不得不使用动态压缩。这确实会使每个请求都受到CPU的影响,尽管通常这是值得的。大多数情况下,您的客户端需要额外的CPU周期来节省但有限的带宽。因此,压缩往往是一个好主意。但是,如果服务器将大部分时间花在特定的高负载上,那么无论是帮助还是伤害都是不同的。
您可以根据需要调整压缩级别,这是可取的,因为每个站点、服务器和带宽的一般使用场景都不同。请参阅IIS6.0中的IIS压缩或IIS 7压缩.好的?坏的?多少钱? (从技术上讲,这是关于IIS7的,但关于限制的讨论更为透彻)。
(我忘记了IIS6是否会这样做,但请注意,当服务器到达某个负载时,IIS7会关闭动态压缩,直到它降到低得多的负载时才会打开它。我现在找不到这些信息的参考资料--所以不要把它当作福音。
我想说的是,99%的时候,打开压缩是一件好事。但是,与任何性能调整一样,请确保测试和调整,以满足您的具体需要。
发布于 2011-09-07 19:20:31
如果您在应用程序中传递/下载大量文本数据,那么开发人员很容易在代码中启用Gzip/Deflate,并且这与IIS无关。在这种情况下,它可能已经启用,但您可能不知道它。
以下是Sanderson的专业ASP.Net MVC书的相关摘录:
“不要忘记HTTP压缩只对文本数据非常有用。二进制数据(如图形)通常已经被压缩。将gzip压缩封装在现有的JPEG压缩中不会有任何好处;您只会白白消耗CPU周期。
“注意: IIS 6及更高版本可以配置为压缩HTTP响应,无论是针对静态内容(即直接从磁盘提供的文件)还是针对动态内容(例如,来自ASP.NET MVC应用程序的输出)。不幸的是,配置非常困难(在IIS 6上,您必须直接编辑元数据库,这在某些部署场景中可能不是一个选项),当然,它不能保证为单个操作方法启用或禁用元数据库。”
https://serverfault.com/questions/306453
复制相似问题