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

请教关于asp优化问题
用asp+access做的网站,网站数据结构很简单,二级分类+新闻,字段不是很多。但是数据量很

大(现在约上万多条),用的是别人的空间和服务器,打开首页和新闻列表页慢,偶尔会出现超时的情况。
但是用同样的数据库和文件,在本地运行就正常(可以确认是没有死循环),所以想从asp代码

上优化一下

1.首先我的数据显示基本都是这样,
set rs=Server.CreateObject("adodb.recordset")
rs.open "select top 10 id,title,content from news where typeid=1 order by data 

desc",conn,1,1
  while not rs.eof
  显示数据
rs.movenext
wend
rs.close
set rs=nothing

首页上模块很多(分类模块和滑动门),所以我一般都把上面的代码放到#include file里引用

。然后给上分类变量等等,显示是没有问题,但我总感觉性能上有些差,尤其是首页有很多个滑

动门和分类模块的情况下,总感觉很卡

请问该如何优化??

2.是否需要在公共页面底部页面foot.asp加上conn.close:set conn=nothing?
我没加过conn.close:set conn=nothing,网上有的说加上好,有的说加不加一样
请问加不加差距是否很大??

3.有时我会在公共顶部页面里给一些变量赋值,这些变量只是几个页面能用上,其他都用不上
请问这样是否会浪费内存??影响大么?


4.我用的是XMLHTTP+fso生成静态页,因为生成静态页是后加的,用模版替换标签的话,还得做

模板页,而这个方法不用,所以用了这个,可是有时却会出现生成失败,(主要是首页和批量生

成内容页的时候)
请问用模版的方法是否不会出现这个问题?或者用模版的方法比XMLHTTP优点是什么?大家都是

用什么方法生成静态页的?

5.Server.ScriptTimeOut=500,加上这个是否有用?会有什么坏处?

多谢了

------最佳解决方案--------------------
1.查询语句似乎没啥问题。
2.conn.close:set conn=nothing
这个一定要加上,很重要。
3.变量尽量在使用的页面用,不使用的页面就不要定义和赋值。
4.浏览速度跟生成静态的方法无关。
6.最好不要加这个,让它默认90,除非你有这个需求(比如要上传超大文件),否则有可能拖跨服务器。
------其他解决方案--------------------
网站是静态的?为什么会有生成静态的操作出现?

或者首页是动态的?


如果涉及到动态的操作。比如说首页,含有大量读取数据库的操作。导致读取速度变慢了。楼主可以考虑一下分块缓存。或者整页缓存。

从服务端缓存数据,这样可以有效减小页面的打开速度。

最好是分块缓存。这样更新数据时也会很快了。

以前我们做电影网站,上班时间基本上都在更新数据。三万的电影。50W的IP,访问速度我们都控制在一秒内。
当然。这个也跟服务器有关。

你可以少缓存一点数据。把必要的缓存起来。后台更新时,更新掉缓存块就可以了。
------其他解决方案--------------------
这是ACCESS数据库的通病
你在优化也没啥用了
数据量过大时,多用户访问都会这样的!
以前的 ACCESS 论坛都是这样!
------其他解决方案--------------------
样式CSS
看看有没外链的样式或者图片、JS
在清理下数据库 没用的表格或者字段删掉
还有种方式 重新建个数据库 然后把现在的数据库的表一一复制进去 这样绝对可以使数据库变更小!
------其他解决方案--------------------
百度统计可以检测出什么东东影响网页打开速度...
------其他解决方案--------------------
一般不是数据库的原因,网站优化运行速度有14种方法,网上有,一般造成服务器down机,代码的原因占很大成分,看看css等里有没有造成耗费大资源的东东。
------其他解决方案--------------------
把容错脚本去掉。再看看。
------其他解决方案--------------------
先谢谢几位回帖,
现在主要是这个问题
服务器那边已经把网站关了,运行网站说占用cpu高达90%多,日志上说超时,
这能是什么原因??因为在本地运行是没问题的。

另外第3个问题,如果把变量放到公共页面的话,影响是否会很大??
------其他解决方案--------------------
服务器那边已经把网站关了,运行网站说占用cpu高达90%多,日志上说超时,


这个估计就是你没有关闭数据库连接造成的,第2项。
------其他解决方案--------------------
哦,那就是说,我的第一种方法没什么问题是么??

如果第二个问题也解决不了的话,只能换数据库了??

另外还可能是什么原因??就是网站耗资源的问题??
------其他解决方案--------------------
顶起!
------其他解决方案--------------------
我现在加上conn.close:set conn=nothing

感觉还是很慢,这能是什么原因呢??
数据库的原因??
------其他解决方案--------------------
就是因为不清楚,是什么地方的原因,
请问有什么工具能测试么??