图1.1是最常用的静态化处理方式。IIS得到要求交给ASP.Net,依据门路ASP.Net断定是否已经生成这个恳求的静态文件,如果存在,则直接输出文件,如果不存在,则读取数据生成静态页,并输出。这种方式最容易懂得,准入门槛低,很轻易就想到了。 2、动态页面作载体的静态计划 图1.1 于是乎,衍生出了进程外缓存。过程外缓存,是把缓存的数据放置到另外一个进程中,脱离了IIS。这种利用个别是windows service。本机的话可以用匿名管道,联网机器的话可以用Remoting、socket等方法与ASP.Net交流数据。这种方式效力不放在IIS内部解决快,但是运行稳固是它的特色。最有名的运用就是MemCached。这种方式是缓存了数据而不是页面,数据在内存中,拿到ASP.Net页面进行数据绑定。这点是这种应用与前面三种最大的差别。 经由上面的处置,一台web加一台数据库也能蒙受必定压力的访问了。压力是多大?按我的教训是15分钟4000PV左右是能够支持的,再多的话,例如8000,那就很有难度了。当然条件是你的网页中,或者说被重要访问的网页中不能有iframe。当然,还要受详细带宽多少,机器配置是否足够,用户操作是否散布平均等因素影响。 到了这里,该松一口吻了,所有问题都让咱们解决了。然而跟着网站的发展,用户的增添,拜访量一直加大,体系又碰到瓶颈了。 ASP.Net就提高了现成的页面缓存方案,用起来感到还不错。这种页面缓存式方案实质上也是静态化处理,不过这部门静态内容是放到了内存中。由上篇文章讲到的内存与硬盘速度的状态,就可以想到这种方案,速度比静态化的快。这种方案也存在部分区域需要特定显示问题,可以用局部静态化,或者也可以用js调用的方式处理。这种方式也不是完善的,主要表示在,一旦缓存了很大的内存,当ASP.Net进程池回收时,IIS容易逝世掉。 -->1、Html静态方案 这样仿佛解决了问题,但是新的问题来了。生成静态后的页面,所有人看到的都是一样的,并且现在数据库的数据更新了,现在怎么办?这个时候,假如不想对系统进行大的变动的话,最好的方法是用一段js调换掉需要按用户显示不同的处所,至于数据更新后静态文件更新的办法,制订一套策略就可以了。当然,这样并没有解决所有问题,例如,现在网站的整体风格都需要转变,岂非全体生成一遍吗? 前多少年出了一个xml+xslt静态方案,可以解决网站风格变更问题。csdn的论坛改版(详细忘却哪年了),就使用过这种方案。这种方案是对html静态方案的发展。不外好像后果并不是很幻想,具领会遇到什么问题,贫道没用过,也说不明白。==! 二、缓存式方案 话接前文《网站、数据库的衍变之路(一) 》。上回说到为了进步网站负载而进行静态化处理。 |