网站、数据库的衍变之路(2)
来源:cnblogs 发布时间:2009-09-26 20:03:00
(二)
(一)说到为了提高网站负载而进行静态化处理。
一、静态化的处理方案(特指生成文件方式)
图1.1
1、html静态方案
图1.1是最常用的静态化处理方式。IIS得到请求交给ASP.Net,根据路径ASP.Net判断是否已经生成这个请求的静态文件,如果存在,则直接输出文件,如果不存在,则读取数据生成静态页,并输出。这种方式最容易理解,准入门槛低,很容易就想到了。
这样似乎解决了问题,但是新的问题来了。生成静态后的页面,所有人看到的都是一样的,并且现在数据库的数据更新了,现在怎么办?这个时候,如果不想对系统进行大的变动的话,最好的办法是用一段js替换掉需要按用户显示不同的地方,至于数据更新后静态文件更新的方法,制定一套策略就可以了。当然,这样并没有解决所有问题,例如,现在网站的整体风格都需要改变,难道全部生成一遍吗?
前几年出了一个xml+xslt静态方案,可以解决网站风格变化问题。csdn的论坛改版(具体忘记哪年了),就使用过这种方案。这种方案是对html静态方案的发展。不过似乎效果并不是很理想,具体会遇到什么问题,贫道没用过,也说不清楚。==!
2、动态页面作载体的静态方案
这种方案是图1.1衍生品,把静态文件换成aspx文件。现在好了,可以解决更新风格、模板的问题了。因为生成的文件是aspx,就可以使用.net自带的模板解决方案了!当然,像某些部分需要显示用户相关数据的话,那没办法,还是得用js调用的方法。这个方案主要是用来解决统一风格网站更新风格问题的。
经过上面的处理,一台web加一台数据库也能承受一定压力的访问了。压力是多大?按我的经验是15分钟4000PV左右是可以支撑的,再多的话,例如8000,那就很有难度了。当然前提是你的网页中,或者说被主要访问的网页中不能有iframe。当然,还要受具体带宽多少,机器配置是否足够,用户操作是否分布均匀等因素影响。
二、缓存式方案
ASP.Net就提高了现成的页面缓存方案,用起来感觉还不错。这种页面缓存式方案本质上也是静态化处理,不过这部分静态内容是放到了内存中。由上篇文章讲到的内存与硬盘速度的状况,就可以想到这种方案,速度比静态化的快。这种方案也存在局部区域需要特定显示问题,可以用局部静态化,或者也可以用js调用的方式处理。这种方式也不是完美的,主要表现在,一旦缓存了很大的内存,当ASP.Net进程池回收时,IIS容易死掉。
于是乎,衍生出了进程外缓存。进程外缓存,是把缓存的数据放置到另外一个进程中,脱离了IIS。这种应用一般是windows service。本机的话可以用匿名管道,联网机器的话可以用Remoting、socket等方式与ASP.Net交换数据。这种方式效率没有放在IIS内部解决快,但是运行稳定是它的特点。最著名的应用就是MemCached。这种方式是缓存了数据而不是页面,数据在内存中,拿到ASP.Net页面进行数据绑定。这点是这种应用与前面三种最大的区别。
到了这里,该松一口气了,所有问题都让我们解决了。但是随着网站的发展,用户的增加,访问量不断加大,系统又遇到瓶颈了。


猜你喜欢
- 自从开通这一功能后,陆续有不少WordPress爱好者问我博客上的“支持”、“反对”是怎么实现的。我想不少人都知道这一功能是把“牛#博”中的
- 解决以下常见问题:1. 我怎样对IIS设置进行备份? 2. 什么工具能帮助我施加一个负载并进行应用程序的强度测试? 3
- 不要让读者找不着北:关于网站导航问题,越简单越好。虽然google鼓励你创建目录结构,但你不能让它太过复杂,比如需要15次点击才能到达目标内
- 据瑞星全球反病毒监测网介绍,今日有一个病毒特别值得注意,它是:VB木马点击器变种ZWZ“(Trojan.Clicker.Win32.VB.z
- 在这个系统上#号代表的是root用户,$符号代表的普通用户。那么如何让它们迅速的进行切换的呢?1、先把电脑系统打开了,然后点击启动器。2、在
- 本文主要简单介绍 docker 容器与前置进程的关系,以及如何编写 Dockerfile/docker-compose.yml 优雅的让容器
- 一、导语调度器(Scheduler)子系统是内核的核心子系统之一,负责系统内 CPU 资源的合理分配,需要能处理纷繁复杂的不同类型任务的调度
- 一个站长论坛运营经验——和大家分享其实马云说得过冬,不包括我们这些个人站长的,我们过冬是早就开始了,
- 首先打开IIS,找到我们的数据库。我们试一下是不是能够下载,正常的情况能够下载的。现在我们就开始配置IIS不让数据库被别人下载,我们在数据库
- 或许当初连“开心农场”的开发团队“五分钟”也没有想到,一年之内一场热火朝天的全民“偷菜”运动正在全国兴起。农场游戏全面的流行造就了一个新兴的
- Text Link Ads 是一家专门销售博客文字链接的国外联盟,网赚老鸟应该对它并不陌生,很多人靠它很轻松的赚了不少钱,对于网赚新手来说,
- 分布式文件系统分布式文件系统是Windows系统网络存储构架的核心技术之一,可以实现将网络上位于不同位置的文件挂接在统一命名空间之下。在管理
- 1.密码保护的.htaccess文件 尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用的做法是将其用于网站目录可靠的密码
- 在接下来的几个月内,我们将会在 AdWords 系统推出一些新的功能,为了实现这些功能,我们将会在发布商网络投放 Doubleclick 广
- 第1种版本: Windows Server 2003 Web Edition 硬件支持:2GB内存 2路处理器 硬件支持, 特点:针对Web
- 为了方便与他人沟通、交流,我们常常会在局域网网络环境中,将需要与他人交流的隐私信息放到特定文件夹中,然后将特定文件夹设置为共享文件夹,这样他
- 一.起因一定要看本文最终目的是实现Android终端访问虚拟机中git服务,所以需要搭建http协议的git服务器,而如何搭建http协议的
- 有时候只是想测试一个app,又不想在手机上做个测试,这个时候我们就可以用虚拟机来完成这件事情。首先到官网上去下载一个安卓系统(https:/
- 技巧一:挂聊天室挂聊天室的方法已经不是什么新鲜的了,但是真正掌握关键技术的还是少数人,这点就非常符合市场规则。什么是关键?永远都是细节。网络
- 一、Linux .NET Core简介 一直以来,微软只对自家平台提供.NET支持,这样等于让这个“理论上”可以跨平台的框架在Li