公司的项目的服务端采用WCF,现在用户反应系统响应慢(其实系统高峰期顶多100个人在用),现在boss让我查查性能的瓶颈在哪。

由于WCF的配置文件只自定义的(采用这样的框架http://www.pin5i.com/showtopic-20754.html),现在我在MyServiceHost.cs

这个类里添加serviceModel.Diagnostic.PerformanceCounters = System.ServiceModel.Diagnostics.PerformanceCounterScope.All;

试图开启WCF计数器(可参考http://msdn.microsoft.com/zh-cn/library/ms735098.aspx)。可性能监视器始终无法获取到相应的进程,OMG

 

大哥哥大姐姐们帮帮忙吧

【demo下载】

posted @ 2010-07-06 11:27 手的预言 阅读(307) 评论(0) 编辑

  最近,客户经常反应系统响应慢,所以开始着手优化。以下只是优化思路,还未进行实施,仅供参考。

  由于客户端采用WPF Browser,且响应慢总是出现在使用高峰期,所以初步断定,应该是服务端出现问题。

 

1 服务端

服务端可分为三方面:服务器资源、服务端代码和数据库。

1.1 服务器资源

服务器资源包括CPU、内存、网络等资源的使用情况,有时在服务端部署了多个应用,容易造成各个应用之间资源争夺,导致IIS响应慢。要解决问题,必然得先找到问题的所在,这时我们可以使用windows自带的“性能监视器”(windows 2008 server还包含一个可靠性监视器)进行分析。以下是“性能监视器”的详细用法。

单击“开始”,在“运行”框中单击,输入 perfmon,然后按 Enter。在导航树中,展开“监视工具”,然后单击“性能监视器”,这时我们看到的只有“CPU利用率”这个计数器,如图1-1。

 

图1-1

对网格右键单击“添加计数器”,弹出“添加计数器”对话框,如图1-2。在这里,可以单击“浏览”按钮,连接到远程计算机。

 

图1-2

我们主要重点监视以下计数器,如表1-1所示。

表1-1

计数器名称 

描述

Processor Information

处理器信息性能计数器集包含测量处理器活动方面的计数器。

Network Interface

包括衡量通过一个 TCP/IP 网络连接发送和接收字节和数据包的速率的计数器。

W3SVC_W3WP

与 HTTP 请求处理相关的计数器。

WAS_W3WP

与 Windows Process Activation Service (WAS)相关的计数器。

添加计数器后,我们就在可以在“性能监视器”上实时监视最新的动态数据了,如图:1-3。

 

图1-3

很多情况下,我们不需要监视实时的数据,而是需要对系统日志进行分析,这时我们就需要用到“数据收集器”。打开“性能监视器”,在导航树中,展开“数据收集器集”,对“用户定义”右键单击,“新建”-“数据收集器”,有两种新建收集器选项。

(1)从模板创建。我们可以使用系统已经定义好的模板,创建数据收集器,在这里,推荐使用System Performance模板创建一份收集器,该模板对本地计算机资源、系统响应时间等信息进行收集,对我们的优化工作有很大帮助。

(2)手动创建。选择“手动创建”选项,在“创建数据日志”中勾选“性能计数器”,然后添加您想监控的计数器,一般我们添加WAS_W3WP、W3SVC_W3WP和Network Interface这3个,对WCP应用服务进行监视。

posted @ 2010-06-18 14:38 手的预言 阅读(1120) 评论(0) 编辑

  今天更新了一个新功能,当选题关系建立后,学生在查看“任务书”、“开题报告”等文档,或者老师在查看某个学生的文档,可以通过一个“快速短消息链接”给对方发送短消息,方便师生间的交流,也强化了站点的短消息功能。

  我把改功能封装在了一个“用户控件“里。所以、、碰到了执行顺序的问题。

  我是在页面Page_Load 的时候,对用户控件进行赋值,然后用户控件再在Page_Load 对链接进行更新,结果造成了,链接一直无法正常更新,通过单步调试2个Page_Load事件,也马上找到了问题所在,原来用户控件的Page_Load 先于 控件所在页面的Page_Load 执行,所以就造成了无法对用户控件进行有效赋值。

  解决办法:把用户控件里的赋值代码写到Page_PreRender 里,问题解决。

 

PS:以前在VS2003的时候,都会在“属性”-“事件”里找到很多Page_PreRender 、Page_Load、Page_Init事件,VS05 08貌似就只有Page_Load,其实只要复制Page_Load方法体的代码,把Page_Load换成对应的事件即可,如:

代码
        private void Page_PreRender(object sender, EventArgs e) 
        {
            
        
     }

 

 

posted @ 2009-12-01 11:29 手的预言 阅读(408) 评论(1) 编辑

9:51 2010/1/13
*增加管理员后台删除选题关系功能

20:56 2009/12/23
*修复学生页面选题分页失效的bug。
*修复选题关系已建立后,管理员又再次审核导致选题状态错误的bug。
*修改管理员审核界面。点击选题的时候,选题信息在新窗口中打开。
*修改密码修改方式。
*修改指导老师权限,审核通过的选题还能再次进行修改。(管理员无需再审)
*增加指导老师“拒绝选题申请”的功能。

20:11 2009-12-24
*优化文档生成服务,响应速度更快,接近即时响应。
*优化首页公告显示样式。公告排序。
*修复指导老师main.aspx页面 链接至学生上传文档的bug。


 

2009.12.01 更新内容

【功能】

*当选题关系建立后,学生在查看“任务书”、“开题报告”等文档,或者老师在查看某个学生的文档,可以通过一个“快速短消息链接”给对方发送短消息,方便师生间的交流。

【界面】

*对指导老师、管理员页面更改了logo。


 

2009.11.30 更新内容

【界面】

*进一步优化“字数提醒”的显示样式。提醒信息的颜色改成灰色,汉字、字母、数字、空格等都当作一个字处理,这样也比较符合数据库的nvarchar类型。


2009.11.25 更新内容

【功能】

*在首页集成了指导老师和管理的登录入口,所有的用户都可以在首页登录啦。

【界面】

*更改了指导老师站内短消息选择发件人的方式。(直接输入学号进行发送)

*更改了文档寄送服务的命名规则,更清晰易懂。

*将“字数提示”由“您已输入x个字符”改成“您已输入x个汉字”。

*更正了一些页面的显示样式,使之更美观。

 

posted @ 2009-11-25 12:36 手的预言 阅读(27) 评论(0) 编辑
摘要: 系统正处于测试阶段,可能会存在不少bug,请老师同学们在下面的评论,提交您所碰到的问题。谢谢。 :)阅读全文
posted @ 2009-11-12 12:17 手的预言 阅读(221) 评论(10) 编辑