|
我说的这种方式可能不适用于论坛.<br />在我们做的大部分网站中(比如<a href="http://www.ju5u.com" target="_blank">http://www.ju5u.com</a>),很多是用来显示最终内容页(比<a href="http://www.ju5u.com/sale/32626.html" target="_blank">http://www.ju5u.com/sale/32626.html</a>)的,比如大部分的内容站,都是采集或者网友自己发布内容,然后放到数据库中,根据请求来显示.<br />这里面有个提高响应速度的问题.<br />我们知道,一般这种网站的内容页显示需要至少两次数据库请求操作:<br />1.请求数据库中文章内容<br />2.每次请求让访问次数+1(代码:SaleManager.AddViewTimes(iInfoId)<img src="images/smilies/wink.gif" smilieid="4" border="0" alt="" /><br />这里面有个很大的问题,就是,第二步操作一般不是必须的,但是他是最大的资源占用操作.<br />因为一般情况下,读数据库速度是很快的,需要的资源也很少,但是对数据库的写操作就是一个很耗费资源的动作.首先他要请求数据库,找到要修改的行,然后执行写操作,最后还要记录数据库日志.这些也是一个对硬盘写的过程.如果你把访问次数字段设置成个索引,问题就更大了,在某些情况下它会引起占用资源极高的索引重建工作.<br />但是,这个访问次数这么重要吗?我看未必,至少在大部分情况下,和占用的资源比起来,是得不偿失的.<br />我做了个比较,对于一个日请求几万次的很普通的服务器(其实就是一个台式机),在加上访问计数后,sqlserver2005的cpu占用率一般在70%左右,把它去掉,cpu占用率一般在30%左右,很少有占用40%的情况.<br />看来,对于速度的优化,还有很多工作要做啊. |
|