日期:2014-05-17  浏览次数:20726 次

ASP生成静态页面程序的资源占用问题请教
楼主现在有个很“庞大”的工程要生成静态页面。
A表有个字段是城市,大约1600多个,然后把每一个城市到另一个城市的长途客运信息查询出来。
比如北京要轮流一遍A表,天津再轮流一遍……一直到第1600多个,这个是外层循环、
内层循环就是抵达城市了,也是上面那个表。
然后循环体的内容就是查询从出发城市到抵达城市的客运信息,如果有,就都列出来,生成一个静态页面。如果没有就下一个循环。

有的城市与城市之间的客运信息较多,上百条,有的城市和城市之间较少。

我在我本机测试了一下,第一轮外层循环外币之后,SQL的进程内存占用从300多M飙升到680多。然后再往后就慢慢涨了。
我机子的配置比我们服务器高一点,我们服务器是个老古董了。

请教下如果真的要把这生成完(大约几十万个页面吧),服务器会不会死机?然后就算不死机,1600多个文件夹,每个文件夹下面几百个html页面,对IIS压力如何?最后就是,这些html对Google搜索优化有没有好处?

100分献上……

------解决方案--------------------
1600x1600=256万
以出发城市为文件夹的话就是1600个文件夹,每个1600个文件,
以我的经验,单个文件下夹1000多个文件,性能略受影响可以接受。
当然这么多文件,你要把服务器文件索引建起来,这样随现访问文件才会比较快。

生成的话,应该没什么问题,当然你不要直接在一个页面时间里完成,这样肯定会超时,
占用内存也会一直上升.
可以生成的时候做个标志,生成一定数量后自动重刷新页面,取没有标志的继续生成。

HTML页面对搜索引擎优化肯定是很有好处。


------解决方案--------------------
个人感觉用 js 刷新好点,我生成文件还没超时过,如果你的一个页面内生成的数据多的话,最好还是写个存储过程来取得返回的结果,不要直接在程序内反复连接数据库进行查询
------解决方案--------------------
由于待生成的较多,建议按 省、地、县 三级目录存放文件
生成时按省多批次生成,以缓解服务器压力。其实这是一次性的工作,效率不高也没什么关系
以后有变动时,只是有针对性的生成几个文件