我在做WEB FORM时,感觉.Net执行页面时的CPU消耗不太好调试.数据库处理的CPU消耗可以借助事件探查器找到是哪一个存储过程或SQL出的问题,可页面呈现时是哪个列表绑定控件出问题就不好调了(我的页面上通常有多个列表控件).比如一个 DataGrid ,我在后台用的 DataBind()可以用断点调试,对着Windows任务管理器可以大概测出消耗的CPU,但前台的Html绑定代码中有后期绑定和一些格式化函数,我怎么调出这些函数的CPU消耗呢.因为每一行都要执行一次格式化的(比如截断字符串,变色等等的操作只能在前台格式化时进行).请问大家有没有更好的处理页面呈现的方法.使得列表控件在大量并发时的性能(主要是CPU性能)仍然很出色.

解决方案 »

  1.   

    一般来说损耗都来自数据库吧.函数截取这些对CPU的损耗并不是很大..
      

  2.   

    一般页面对CPU的消耗不会太大,你可以看看页面中是否有比较大的Flash,如果有去掉试试。
      

  3.   

    我也有类似问题,不过是winform,上面有许多控件,刚启动时,cpu消耗特别大 ,启动完了就好了,曾看过一篇优化的文章
    http://www.programfan.com/showarticle.asp?id=2548加速页面的显示
    http://msdn.microsoft.com/library/default.asp?url=/msdnmag/issues/03/02/multithreading/toc.asp
      

  4.   

    楼主可以朝测试发面发展了,好好看看压力测试的内容。推荐一本介绍这方面很不错的书《ASP.NET性能高级编程》
      

  5.   

    TO luckyprg(lucky) :我的页面上没有任何FLASH,连图片也很少,另外我想就算有,这也不会是消耗CPU的原因,因为不是客户机CPU消耗过多,而是服务器的ASP.NET进程(w3wp.exe)TO  zeusvenus(清柳):
    压力测试不是没做,是做了没有好办法解决.我的程序实际运行后高峰时有几千人并发使用.TO huing(缥缈孤风) :
    1.此文拜读过,不过我试了不是这些问题,主要是呈现时控件的性能问题2.winform的问题没研究过,多线程在webform上能解决这个问题吗?等待达人解答.
      

  6.   

    我做过一个页面有近百个控件的,开始都用的是服务器控件,只要打开页面CPU就100%,后来就换成HTML控件,你要么和我一样,要么将数据分步提交
      

  7.   

    如果你不使用vs.net企业版的分析器,至少可以写上几行代码自己完成各部分计时开始和结束功能。这没有什么难度。
      

  8.   

    楼上的大虾,没明白您的意思.vs.net企业版的分析器和我的问题有关系吗?