买的一个OA办公软件,B/S模式的,后台是.net3.5+sql server 2005,WEB服务和数据库是装在同一台服务器上的。
  现在有一个问题,每天第一次打开的时候,OA系统办公软件的登录界面出来的特别慢,有时候要半分钟,甚至1分钟才能打开。打开后,然后关上,再打开就快了。在一台机器上打开后,然后到另外的机器上打开也很快。
  不过,过了一段时间不用,约半小时,没人使用,再打开,又象每天第一次打开那样,又慢了。(OA办公软件现在在测试阶段,就只有我一个人在用)。
  卖给我们OA办公软件的人说,是数据库慢,说我的服务器硬盘做的RAID1,慢。
  服务器的性能还可以,买的不到三年,DELL的,当时3万多。
  请问以上现象,可能是什么原因造成的?谢谢!

解决方案 »

  1.   

    把数据库操作的语句拷贝到查询分析器里。在查询分析器里 ctr + l,能看到分析结果。或者使用 sql-2005-->performance tool-->Database engine tuning advisor 让系统来查找SQL语句的优化。
      

  2.   

    除了数据库的问题 还可能是缓存的问题如果缓存满了 或者每天需要显示的更新数据很多 且html内容复杂繁乱 那当天第一次更新的时候也会慢清空下IE缓存 或者增大缓存空间试试还有可能是外链问题 网站中有大量外链 这是在站内不可控的 (有可能是病毒引起的)
      

  3.   

    过了一段时间不用,约半小时,没人使用,再打开,又象每天第一次打开那样,又慢了问题不见得完全是数据库的问题,iis回收,第一次操作重新编译,也可能造成你说的问题。手动重启iis看是否同样慢。
      

  4.   

    我想和数据库的关系还是比较小的  是否是ASP缓存机制造成的,
    缓存整个网站半小时后  有新的操重新处理OA系统代码
      

  5.   

    1,“每天第一次打开的时候,OA系统办公软件的登录界面出来的特别慢,有时候要半分钟,甚至1分钟才能打开。打开后,然后关上,再打开就快了。在一台机器上打开后,然后到另外的机器上打开也很快。2,不过,过了一段时间不用,约半小时,没人使用,再打开,又象每天第一次打开那样,又慢了。(OA办公软件现在在测试阶段,就只有我一个人在用)。
    //第一次命中编译的现象,可能是加载dll,楼主可以查看一下那些dll多不多,文件大小等
    //因为你现在只是打开登陆界面,按理说与数据库不挂勾的,但还是查一下数据库优化方面吧
      

  6.   

      应该是应用程序池的问题。我把闲置超时改成1分钟,过1分钟多重新打开又慢了。
     看服务器的内存情况,当我第一次打开登陆页面的时候,服务器内存使用从1.46G升到1.50G,过一分钟左右,又回到1.46G。这时候,再打开登陆页面又慢了。
     难道要把闲置超时改成无限大?
      

  7.   


    是这样的,当一个页面在第一次开发时(服务器重启以后)都会非常的慢,
    之后的在访问这个页面就会很流畅。
    这个应该是 IIS的 某种特性。
      

  8.   

    这种情况在实际WEB项目发布中很常见
      

  9.   

    监控一下服务器,在网站打开慢的时候,登录服务器:
    1、在服务器上,查看一下“任务管理器”中“进程”选项卡中,内存和CPU的占用情况
    (一般情况下数据库会占用大内存,关键是看CPU,此刻CPU占用是否很大)
    2、CPU占用,分两种,一种是数据库占用很多,这种情况下,你就要在数据库的“事件探查器”中监控一下比较耗时的SQL,以便优化改进,另一种是W3WP进程占用比较大,那就需要分析代码了,你最好到操作系统日志中的“应用程序”和“系统”日志中看看是否有什么异常出现。
      

  10.   

    asp.net的网站都是如此,正常现象。
      

  11.   

    看来很多人对IIS和Asp.net还不太熟
      

  12.   

    你给普及普及呗以前也遇到这个问题,很郁闷。
    主要是iis,程序的关系。
      

  13.   

    .net首次运行是需要编译的,编译完驻留内存,一定时间没请求就回收,这刚好能说明为什么首次跟隔长时间后再运行速度非常慢的原因了。
      

  14.   

    检查下web服务器吧, asp.net的话通常应该是IIS了. 看看application pool
    与数据库没关系
      

  15.   

    在iis里 一个网站的应用 如果再2个小时里(好像) 没有任何请求的话  IIS 貌似会暂停该程序 
    我也说不太清楚  意思大概就是 就像休眠一样吧等你早上再用的话 对IIS发出该网站的请求 它再重新启动 肯定第一次就会慢了就好像 一台电脑 你一晚上不关 第二天早上起来 直接就用~ 关机的话  早上不得先开机 才能再用吗
      

  16.   

    IIS加载asp.net页面时,需要先加载部分.net的dll,那是最浪费时间的- -b
    其他的都是浮云