我们做的是一个在线培训的网站,总注册用户有1万+人,平均同时在线1000+,网站有个视频观看教材的小模块,差不多会有一半的在线人数在看视频。教材源文件有很多100M以上的,我转换成flv格式的,码率大概200kbps。最近这几天服务器上的cpu负载一直在70%上下,导致网站访问速度很慢,主要是w3wp.exe这个进程占用CPU过高,请有经验的前辈指点一下啊,问题出在哪里啊。服务器的配置我不太清楚,因为是客户挂在别服务商那里,只知道CPU的型号是Inter(R) Xeon(R) E5506 2.13GHz,内存是8G。带宽据说有100M。
程序绝对没什么死循环的,之前总人数在8000左右的时候系统都很正常。

解决方案 »

  1.   

    CPU的占据并不是在线看视频的缘故,而是动态程序被频繁访问执行
    或者你可以这样检查1,程序自身循环之类的问题
    2,程序的缓存技术有没有控制到位
    3,结构是否合理最后,百度 CC攻击 
      

  2.   

    谢谢各位的回复,程序上我们也在优化,我主要不太懂这个w3wp.exe,是程序问题影响这个进程吗。
      

  3.   

    这个主要是IIS运行进程
    通常一个进程管理一个网站你最好能确定你的IIS只有这个站点
      

  4.   

    IIS里网站配了应该有5 6个,但问题确实出现在这个网站,我们有为每个网站配了单独的应用程序池。
      

  5.   

    应该从程序入手
    感觉要么程序,要么被攻击,其他可能性几乎没有
    如果重复读取数据库的话,1000多个人同时访问,确实会带来不小的压力!
    可以尝试读取视频部分使用XML文件,当然生成是必须也可以缓存视频信息,然后直接视频缓存内容转换回来使用
      

  6.   

    在线观看视频,这本身就会导致CPU持续处理输出流媒体I/O
    不像普通网页,打开一下,服务器就中断了.看流媒体,显然对存在一个对服务器持续的连接.
    这对CPU\内存\硬盘都有不低的要求.另外,所谓的100M带宽,那是机房一个机柜总的带宽(至少有10多台甚至几十台服务器)
    10个甚至几十个服务器共享100M
    一般的主机商对每台服务器平均能保证在2M左右.好的,或者说加钱的大约能提升到5M左右.1.流媒体服务器对内存要求高,必要时可以加大内存,对特别热门的流媒体直接cache到内存中.
    2.做磁盘阵列.最好用阵列硬卡来带动硬盘
    3.加钱,找服务器商购买更多的带宽4.查看服务器日志,看导致CPU占用率高的主因是什么.然后对症施治
      

  7.   


    他弄成FLA应该就不是流媒体传输了,属于文件下载了吧?