我使用MS SQL使用Web表单和ASP.NET。

对于我的网站,我需要存储这些代码,也许将来其他代码:

  • Google分析代码
  • 一些JavaScript代码
  • 我的模板的HTML页脚和标头。

我需要一个可以集中式的解决方案,使用缓存,易于更新:

在这里,我的想法,我希望您的意见:

  • 01使用具有表格(配置表)的数据库,该数据库为每个记录(VARCHAR)允许将这些代码的这些自旋存储为字符串。
  • 02在特定文件夹中使用简单的文本文件,因此我可以在代码中包含这些文件。我可以使用FTP和记事本更新代码(在这里我担心缓存)。
  • 03使用web.conf文件。
  • 04使用文本文件,并且类WICH将在缓存中管理这些文件的内容。

有任何想法吗?谢谢你的时间。

在这里,我希望为此主题强调和有用的文章:

http://nathanaeljones.com/153/performance-killer-disk-io/

有帮助吗?

解决方案

首先,关于Nathanael Jones博客的引用链接,尽管磁盘IO比内存操作慢得多,大多数网站都不是磁盘IO绑定的,而且他的大多数解决方案坦率地说,没有受过教育的废话。

一般而言,只有很少的情况使您成为磁盘IO绑定。第一个是数据库服务器本身。如果没有足够的RAM将数据库的相关部分保持在内存中,则该服务器的磁盘速度至关重要。特别是在高交易情况下。

其次,如果您的应用程序直接读取并撰写了很多文件,则可以绑定磁盘。很少有应用程序这样做。我不计算您的应用程序的.aspx或.html文件,因为这些文件可以被现有框架和IIS缓存。

基本上,只是忽略他。

数据库同步想法作为提高性能的方法的整个文件系统无价值约99.999%。如果没有其他信息,数据库应将文件推向Web服务器文件系统,而不是相反。在20年的开发中,我已经看到了1个站点,需要这一点。他们每天提供数百万页的浏览量。此外,他在网络上进行数据库调用的速度比从本地文件加载等效数据的速度是错误的。

接下来,我们真正绑定的实际领域是将整个网络的数据发送到客户端浏览器。这总是比从磁盘上读取文件要慢;即使没有线路。硬盘驱动器移动数据的速度比您的网卡更快。进一步迈进了一步;现代硬盘驱动器的数量级比您的互联网连接快。您可以做的最好的事情是限制单页加载所需的连接请求数量。这里的优化意味着有1个CSS文件,而不是20个;只有几个.js文件引用,而不是100个;并将图形组合成可行的精灵。由于TCP的工作方式,传输1个大文件比100个小文件更快。

也许在超载的共享服务器上 可能 有问题。但是,现实是,在磁盘队列长度失控之前,将很久以内的网络拥塞就会被网络拥堵。


这样一来,让我们看一下您的实际问题。

JavaScript项目有两个首选位置:1。AS在Web服务器上或2.嵌入主页中的.JS文件。只需执行选项1,它们就会由Web服务器缓存。此外,它们将被客户浏览器所缓存,这意味着您不必

对于您的标题和页脚,应该在主页中的代码。不要做服务器端,这只是使事情复杂化。构建一个普通的.NET网站,该网站利用主页为您的“ Chrome”内容。您可以在应用程序级别启用部分页面缓存,该缓存将为您处理所有缓存。

更新标题或页脚内容时,只需重新部署网站即可。

其他提示

将标头和页脚存储在文件中并使用 服务器端包括。某些Web服务器(IIS 6.0)可以允许您将文档页脚添加到所有页面。

将您的JavaScript存储在文件中,并在页面中使用。这将允许缓存并提高页面性能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top