我网站目前数据50万左右,32服务器 CUP8片 内存4G
我想将我的数据全部静态化,以使访问不从数据库中读取数据;
我目前处理方案是这样的: 因为我不想把整个信息详细页面都静态化 毕竟页头导航 和页脚友情链接之类的数据 还是有必要调动态数据,我想到局部静态化;以页面展示信息的的HTML片段为模板,生成N万个装载数据的ASCX文件,每个ASCZ文件上,都装载了一条数据库的数据,在访问的时侯,根据来访的ID号,去加载对应的数据文件(已生成好的ASCX文件)到对应的位置,目前已实施成功,但……
访问的时侯,时而秒刷时而小卡,这些姑且算是硬件上不足吧;
有个我不解的现象是,自从我这样做了静态化以后,每当我更新程序 ,将新DLL上传至服务器后, 服务器要重新加载网站吧, 服务器会假死半小时之久;死过之后,还算能正常访问,以至于我害怕再更新程序上去;目前服务器上网站相关目录下 生成的数据装载文件(ASCX文件)5W余;
具体情况就是这些吧,5W余的文件对网站影响如此之大,那将来成千W的数据,就成千万的文件,我在怀疑我是否还应继续相信静态化,其他数据稍多的网站,他们是怎样处理的呢;
网上说的静态化,主流的也是说静态化成HTML,可我是ASCX的,虽说访问时不用去读数据库;是IIS在加载网站时对ASCX和HTML所做的下理不同,这是根本原因么?网站其实出问题也就是在上传新程序集后第一次访问恼火;
我目前是这样的判断,望过往的大虾、大牛、大侠给个科学的诊断,或
提供点更优解决方案;
第一次触发生成,是指一次生成全部内容还是说单页访问,片段生成呢?既然已经生成了ascx,那你加载的时候是直接IO读取文件,直接输出吗?如果是直接读io文件,建议还是直接生成html。毕竟IIS少走一步解析。
我做过类似的片段静态化解决方案,配置一个开关,加上过期时间,访问触发生成片段html。再次访问,直接从磁盘读IO文件。速度很理想。数据量百万级别。
试试这个
http://www.51aspx.com/CV/HttpHanderHTML/
OH MY GOD!