工作经验总结:SQL Server 2005的IS和AS
2008-09-04 10:02:22 来源:WEB开发网如果问题是在运行的过程中才发现的话,那么排除问题可能会花费你更多的时间.
3.版本问题.
这里所提及的是SQLServer的版本.在社区里比较常见的是开发版和企业版.从做业务系统的角度来说,这个版本似乎不会有太大的影响,但是在处理大规模数据的时候,据团队成员反应其性能表现还是不一样的,其中一个兄弟的反应是开发版在处理完数据后所消耗的内存会一直驻留着,除非你重新启动服务,而企业版做事就很干净,处理完数据后你会发现企业版把战场打扫得干干净净.当然这个问题没有得到官方的验证,只是也偶尔听微软的朋友提及过,但是为了不至于耽误任务进度,如果你有企业版的话,建议还是使用企业版.
4.数据的备份.
微软的系统以前死掉是蓝屏,现在蓝屏少了,取而代之的是不响应你的任何操作.经过这次的惨痛教训,我十分不建议所有的工作都在一台机器上做.在我们的任务过程当中,ETL,多维数据集处理以及各种程序都跑在一台机器上,当初没有备份的一个主要原因是因为数据量太大而且过程也比较复杂,但是后来遇到的问题真是有惊无险:这台机器在运行一段时间之后突然死掉了,没有任何反映,当时是正在处理数据,没办法热启下机器,启动后进入登陆界面,输入完密码后就是什么也都不提示.有经验的兄弟说这是sqlserver在做表修复,没办法大家就得等,结果,一个小时就这么过去了------要知道我们可是在晚上加班啊.
要是这个时候能有另外一台机器马上顶上的话,那么就不至于耽误这么多的时间.另外,数据备份出来,如果有能拆接的任务可以分别部署到两个机器上去跑,从而提高性能(悲哀的是,我们这次任务重每一步都是串行的).
5.网络
很多情况下可能你所处的网络环境当中,网络管理员对网络的管理不是很好,以至于网络内到处都是攻击,这往往是很常见的.还记得当年在某一大学的内部网里,但凡是win2003的系统,只要你不装SP1,接上网线后就马上中招,准准的.这个在任何场景下可能都很难避免,而且公司人数越多危险性往往就越大,而更多时候问题往往不是出在你所负责的团队,而是来自于其它团队或者项目组的”肉机”所发出的攻击.你总不想在两台机器协同处理数据的时候网络突然瘫痪掉吧(我遇到过,任何的两台机器都无法互相访问).
这个问题可能说起来有点天方夜谭,但事情往往就是这么邪门. 所以,安全起见,除了要注意平时的安全外,建议把自己团队的机器部署到一个路由器下面,要是发现问题马上拔路由器上的网线,不要因为公司网络的问题突然影响到你的任务的进展.
其它:
与AS打交道的团队成员,无论是做挖掘模型还是做多维数据集,都反应过机器很容易就死掉的这个问题,而这个毛病确实也是屡试不爽.这个时候,除了前面建议的改进挖掘结构或多维数据集结构外,机器的配置要求也是很高的.我们的开发用机器是P4 3.0+2GB这样的机器,所以要处理AS服务的话,如果实在没有服务器,还是建议申请配置比较高的机器.
类似这样的项目,数据的一次处理周期会很长,每个最小粒度的处理单位很有可能都要一个小时,所以任何一个地方出了问题,就可能白白的浪费掉了一个小时,当然这还不算把问题解决掉的时间,而当你发现这个问题是由于系统原因造成的时候而不得不让你重装什么东西的时候,所需要的时间更是无法估算的.
更多精彩
赞助商链接