2008-11-25 42 views
14

我构建了一个静态ASP.NET网站(使用Masterpages和一些表单),并且即将将其发布到我的生产服务器上。ASP.NET - 将网站投入生产的基本清单

我知道如何将<compilation debug="true">更改为false,但我想知道我可以做些什么来获得最高速度。网站没有数据访问权限,全部是静态内容。

有没有人有一个清单,他们运行或知道一个良好的资源在生产环境中设置网站,重点放在性能?

清单到目前为止(随意将它与任何值得补充自己编辑)

  1. 确保<compilation debug="false" /> Web.Config中实际上被设为
  2. 确保<trace enabled="false" />实际上是设置到false in Web.Config
  3. 为站点设置必要的读/写/修改文件夹权限
  4. 在IIS中启用GZIP(显着减小页面/ css/javascript的大小)
  5. 您是否考虑过任何页面/控件的OutputCaching?
  6. 考虑设置Web测试(例如WatiN for .NET)以确保您网站上的功能仍然正常工作
  7. 请确保它不是星期五下午!

回答

2

评论你的web.config

检查调试(web.config中/ * .SVC),跟踪......

更新调试到生产值:

  • 电子邮件地址
  • (web)服务地址
  • 位置日志文件

快速搜索:link

+0

我觉得很有趣,你提到了更新日志位置和禁用跟踪。我在哪里,我们有一个直接输出到日志文件的跟踪监听器,所以它们是互斥的。 – 2009-09-07 16:25:19

3

另外,不要忘记在IIS检查gzip的设置。压缩输出将使东西穿越电线快得多。

2

如果所有的静态内容,你会想如果你正在编写任何日志或输出文件使用激进Output Caching

7

,确保正确的文件夹的权限是在生产环境中的设置。通常,调试/测试环境对文件读/写权限的要求比生产要宽松得多。

2

如果您的网站使用数据库并且只有提供信息,请将数据库设置为只读。这将带走所有锁定处理并加速访问伟大的交易。

如果你有一个后端,更新数据,使它成为一个独立的数据库,并sheduled是更新只读数据库每天一次或所需要的该应用程序周期。

如果一个公司的网站是不是经常更改你只是目前新闻和其他小东西,那么这个解决可能是给你的。即使它是一个拥有千兆字节数据的网站..关键词是,我们多久更新一次数据?

从我在日常业务看,没有人真的认为这个解决方案,因为一切都必须是“实时”的,但也有很多情况下,这将是一个完美的解决方案。

6

周五下午不要部署!这是保证在周末搞砸你的头脑。

1

您应该进行某种测试来验证您网站的各种功能以及权限。例如,一旦你发布。浏览清单,如果我没有权限,我可以访问x吗? x,y,z是否适用于应用程序?我在每次发布后都会这样做,因为小的更改可能会产生很大的影响。

0

清除浏览器缓存后,彻底测试公司防火墙/代理之外的站点。这将有助于确保所有资源都可公开访问(并且不在本地服务器或缓存中)。例如,您可能会发现您使用了绝对URL来包含JavaScript或CSS文件。这些工作在您的开发环境中工作得很好,但只要网站上线,他们无法访问。或者您的缓存中有一个随后被删除的CSS文件,但您没有注意到。

确保您使用的任何具有与域绑定的密钥的产品/应用程序都可以在您的现场网站上运行。这包括Google Map键或商业第三方应用程序等。它还包括自动生成的超链接,例如电子邮件。你不希望用户注册链接回http://localhost/comfirm.aspx之类的,你会吗?