犬者
“说了你又不听,听又不懂,懂又不做,做又做错,错又不认,认又不改,改又不服,不服也不说,那叫我怎么办?!”

【电脑】分页处理

前段时间一直被颜如玉服务器的资源问题搞得非常非常之头痛……
四个逻辑CPU的占用率便一直是100%,查看任务管理器,其中MS SQL的程序占了过半的CPU资源。

CPU一忙起来,整台服务器也就等于是废了……

甚至博客风的运作也受到影响。

关闭了颜如玉网一些我认为严重占用资源但是实际意义不大的程序;使用MS SQL事件查探器分析了数百万条数据库事件并重新整理的数据库的索引……

我能想到的方法,基本上都用了。

但是,CPU占用率便一直是一条直线。

梦寐以求的曲线便是一直都看不到。受影响最大的是网站的后台管理,根本就无法打开。

被这么件事情烦着,偶其他事情几乎都做不下去。

痛苦不已。

只能开始做程序的优化,我搞不清楚究竟是什么东西造成MS SQL的资源占用过高,但是,优化一下程序,多多少少会有点帮助。

从打开次数最多的页面入手。

反复看了几遍,几乎看不出任何可以优化的地方,这些页面已经是经过别人的优化了,倘若要再次优化,恐怕只能是将其从asp转换为asp.net的程序,牵涉的东西太多,不是一时间可以改的。

唯一一个可以优化的地方便是文章列表的分页程序。

原先用的是recordset自身带的分页方法:
rs.pagesize= XXX
rs.absolutepage=XXX

这样的方法是几乎所有ASP教程所介绍的,几乎所有的ASP网站也都在用。按理来说,这是recordset对象自己提供的分页方法,其效率应该是最高的。

recordset本身的确是没有优化的地方,但是,还是打开recordset的时候还是可以做点手脚的,不要分页了,直接让其打开所在页面的数据项就是。
原先的类似与:
rs.open "select id, title from doc",conn
然后,再对rs做分页。

其实可以用类似下面的方式打开,避免分页:
rs.open "select top @pagesize id, title from doc where id not in (select top (@page-1)*@pagesize id from doc)",conn

这样子打开的rs对象,也便只有当前"页"的数据了。

如此操作,其实是将分页的过程由ASP移交给MS SQL处理,并且因为top关键字的存在,在打开第一页的时候,可以取得非常明显的效率提高。

很简单的SQL操作技巧其实……

这样子的分页方式并不是最有效率的,但是其代码的实现却是最简单的,并且在大多数的情况下(用户之浏览第一页的数据)可以取得最高的效率。

我并不期待这么个优化能够多大程度的减轻CPU的负担,毕竟,所修改的仅仅是一个页面中的一个小侧栏而已。

之前去除了所有页面的访客统计都几乎没有对CPU占用产生明显浠?

Well……奇迹发生了,这么个小小的改变,CPU一下子从100%的持续占用下降到了30%-70%间浮动的正常情况。

美丽迷人的曲线终于出现了。

今天又用同样方法修改了其他页面的,CPU占用频率再次显著下怠?

呵呵……看样子,即使网站流量再大一倍,服务器也是绰绰有余,而之前站长都已经在考虑够买新的服务器了,省了一台服务器的钱,真是开心。


PS:呼呼,等什么时候服务器资源再次紧张,我看我再来写写其他复杂但是更加有效的分页程序。

PS^2:猫猫又给博客风做了新的模板:那些花儿


感谢猫猫……虽然,这个模板真的很花痴……
顺便说一下,这个模板只能在IE下取得正常的浏览效果,因为使用了IE专有的CSS属性,使用Mozilla/Opera的朋友,对不起咯。
个人很讨厌这个模板使用javascript实现的鼠标环绕效果……这样的东西除了拖慢浏览器显示,妨碍浏览外没有其他实际意义。
well……偏偏有的人就是喜欢这样……并不是所有东西都可以用技术的眼光看待。

就好像,恋爱除了浪费时间/精力/金钱外也并没有任何实际意义,偏偏我们却选择去爱得那么的深。

PS^3:偶还顺便修改了一下blogwind的一些bug,比方说,回复网志后无法返回原页面,网志编辑页面的一些小bug等……
2741
问天 @8/22/2004 5:36:35 AM
View blogs in this category:电脑


人家本来就花痴 >_< 在 8/22/2004 10:22:57 AM 说:

哇哇大哭。。T_T

Please leave your comment here

 
  名字:
  主页:
  内容:
 

   


Navigation
Blogwind
犬者首页
Contact


个人档案


“说了你又不听,听又不懂,懂又不做,做又做错,错又不认,认又不改,改又不服,不服也不说,那叫我怎么办?!”



Categories
死结(27)
电脑(177)
心情(181)
天影(25)
乱弹(211)
博客(82)
音乐(18)
饕餮(30)
读书(20)
电影(28)
网摘(5)
希望(37)
汕头(10)
经济(8)
苹果(19)
跋涉(7)



Archive
2008年11月
2008年10月
2008年9月
2008年8月
2008年7月
2008年6月
2008年5月
2008年4月
2008年3月
2008年2月
2008年1月
2007年12月
2007年11月
2007年10月
2007年9月
2007年8月
2007年7月
2007年6月
2007年5月
2007年4月
2007年3月
2007年2月
2007年1月
2006年12月
2006年11月
2006年10月
2006年9月
2006年8月
2006年7月
2006年6月
2006年5月
2006年4月
2006年3月
2006年2月
2006年1月
2005年12月
2005年11月
2005年10月
2005年9月
2005年8月
2005年7月
2005年6月
2005年5月
2005年4月
2005年3月
2005年2月
2005年1月
2004年12月
2004年11月
2004年10月
2004年9月
2004年8月
2004年7月
2004年6月
2004年5月
2004年4月
2004年3月
2004年2月
2004年1月
2003年12月



My Links
5G
bloglines
时尚摄影师奇科的博客
颜如玉
最爱卫斯理

RSS 2.0

Username:
Password:
 Remember me