我想衡量一个web服务我的商业类的性能。 我怎样才能做到这一点通过编码?
我想知道我的商务舱多少CPU消耗来执行它的操作,以及如何在Web服务得到多个同时服务电话也表现不一。
我不想衡量我的Web服务的性能; 我只是想知道我的业务类是如何执行。
我的想法:
阅读一些博客后,我决定写一些代码段,这将创建一个PerformanceCounter
,如下图所示。 从这个代码,我可以用一个创建多个线程for
循环。 每个线程会打电话给我的班。 而在同for
圈,我会打电话给NextValue()
在柜台上的实例方法。
System.Diagnostics.PerformanceCounter CpuCounter = new System.Diagnostics.PerformanceCounter();
CpuCounter.CategoryName = "Process";
CpuCounter.CounterName = "% Processor Time";
CpuCounter.InstanceName = Process.GetCurrentProcess().ProcessName;
问题:
- 这是方法正确吗?
- 我将使用“过程”类或“处理器”的范畴?
- 我怎样才能获得的性能数据来创建一些报告出来的吗? 例如将100个同时线程,CPU使用率是70%,与200个线程它去高达90%等。
- 我的业务逻辑,结束得非常快。 并且,另一方面,
NextValue()
方法一秒的间隔之后如在提及给正确的值这博客。 我该如何处理呢? - 有时,
NextValue()
方法给出了以上100值是否意味着CPU使用率超过100%? (我想,这个计数器的值不应被理解为CPU的使用率%。对吗?)
注:我使用的是Windows 7专业版和英特尔酷睿i5处理器。 这是我第一次使用性能计数器。 因此,一些问题可能是愚蠢的。