问题标签 [performancecounter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 以编程方式监控磁盘活动 (Windows)
在 Windows 2008R2 中,在磁盘活动部分的资源监视器中,我可以看到从文件读取/写入文件的字节数。如何以编程方式执行此操作,最好使用 C#(或 Win32 API)?我研究了 WMI 和各种性能计数器,但是我无法弄清楚是否有适合我需要的东西。
sharepoint - 带有 [ACL] 的 sharepoit 性能计数器实例名称
选择一个 Sharepoint 性能计数器对象,我的每个网站都有两个实例。例如,对于 ssp 站点,这两个实例被命名为
- portnumber_ssp_admin
- portnumber_ssp_admin[ACL]
这两个实例有什么区别?[ACL] 是什么意思?
c# - 如何在 C# 中使用性能计数器来监视 4 个同名进程?
我正在尝试创建一个可以监控应用程序性能时间的性能计数器,其中之一是 Google Chrome。但是,我注意到我为 chrome 获得的性能时间异常低 - 我在任务管理器下查看我的问题,即 chrome 有多个以完全相同的名称运行的进程,但每个进程都有不同的工作集大小因此(我相信)不同的处理器时间。我试过这样做:
但这似乎根本不起作用 - 我只是多次监控相同的过程。谁能告诉我一种方法来监视具有相同名称的单独进程?
c# - 如何访问代码中的 C# 性能计数器?
我想在我的程序中使用性能计数器输出。如何在不使用 perfmon.exe 的情况下访问代码中的性能计数器。我想创建自己的性能计数器应用程序。
c# - 性能计数器主题中是否有 DecrementBy() 方法?
在书中我看到它存在,但 MSDN 说它不存在???
大家对这个话题有什么想说的???
稍后可能会加载 VS,看看它是否出现在 3.5 .Net 中。我问的是你们中的一些人都知道我正在为考试复习,我不希望像这样的小巧克力蛋糕让我大吃一惊。
TIA
wcf - 使用 WCF 性能计数器 (performanceCounters = "ALL") 对性能有何影响?
有没有人有在生产系统中使用 WCF 性能计数器并遇到任何性能问题的经验?我怀疑如果您正在监视所有服务、端点和操作并将所有计数器记录到文件中,每秒采样一次,那么这是最坏的情况。据我所知,当你实际采样时,点击就会出现,而不是在计数器打开时。有在生产中使用它们的实际经验吗?
profiling - Linux内核中Perf事件子系统的性能开销
Linux 的性能计数器是一个新的基于内核的子系统,它为所有事物的性能分析提供了一个框架。它还涵盖了硬件级别(CPU/PMU、性能监控单元)功能和软件功能(软件计数器、跟踪点)。从 2.6.33 开始,内核提供 'perf_event_create_kernel_counter' 内核 api 供开发人员创建内核计数器以收集系统运行时信息。我最关心的是启用 tracepoint/ftrace 时对整个系统的性能影响。我找不到关于它们的文档。曾经有人告诉我,ftrace 是通过动态修补代码实现的,它会大大降低系统速度吗?
assembly - 如何在多核处理器上进行基准测试
我正在寻找在多核处理器上执行微基准测试的方法。
语境:
几乎与此同时,桌面处理器引入了让性能难以预测的乱序执行,也许并非巧合,它们还引入了特殊指令来获得非常精确的时序。这些指令的示例rdtsc
在 x86 和rftb
PowerPC 上。这些指令给出的时间比系统调用所允许的更精确,允许程序员对他们的心进行微基准测试,无论好坏。
在具有多个内核的更现代的处理器上,其中一些内核有时会休眠,计数器在内核之间不同步。我们被告知rdtsc
不再安全地用于基准测试,但是当我们被解释替代解决方案时,我一定是在打瞌睡。
问题:
一些系统可能会保存和恢复性能计数器,并提供 API 调用来读取正确的总和。如果您知道此调用适用于任何操作系统,请在答复中告知我们。
一些系统可能允许关闭核心,只留下一个运行。我知道 Mac OS X Leopard 在从开发人员工具安装正确的首选项窗格时会这样做。你认为这可以rdtsc
安全地再次使用吗?
更多背景:
请假设我在尝试进行微基准测试时知道自己在做什么。如果您认为如果优化的收益不能通过计时整个应用程序来衡量,那么不值得优化,我同意您的观点,但是
在替代数据结构完成之前,我无法为整个应用程序计时,这需要很长时间。事实上,如果微基准没有希望,我现在可以决定放弃实施;
我需要在我无法控制截止日期的出版物中提供数据。
process - 在 Windows Perfmon 中监视进程级性能计数器
我相信每个人都遇到过这个问题。当您扩展使用多个应用程序池的 Web 服务器时,为每个应用程序池 24x7 收集性能计数器是很有价值的。唯一的问题是 - Perfmon 通过进程 ID 将计数器链接到应用程序池,因此每当应用程序池回收时,您必须删除旧进程 ID 的计数器并将它们添加到新进程 ID。由于应用程序池经常回收(每当您发布新版本或修补服务器时),这是一个主要的痛苦。我想知道是否有人找到了解决方法?也许是一种在应用程序池启动时更新 Perfmon 设置的编程方式,或者以某种方式通过名称而不是进程 ID 来引用应用程序池?我将不胜感激任何提示!
asp.net - ASP.NET 检索平均 CPU 使用率
昨晚我在一个网站上做了一个负载测试。我发现我的一个共享缓存是一个瓶颈。我正在使用 ReaderWriterLockSlim 来控制数据的更新。不幸的是,大约有 200 个请求几乎在同一时间尝试更新数据。这也与 CPU 使用率峰值相吻合。
正在更新的数据位于 ASP.NET 缓存中。我想做的是如果 CPU 使用率在 75% 左右,我想跳过缓存并在另一台机器上访问数据库。
我的问题是我不知道创建一个新的性能计数器来检查 CPU 使用情况有多昂贵。另外,如果我可能想要过去 2 或 3 秒内的平均 CPU 使用率。但是,我不能坐在那里计算 CPU 时间,因为这比当前更新缓存所需的时间更长。
有没有一种简单的方法来获得平均 CPU 使用率?这有什么缺点吗?
我还在考虑总计锁定的等待计数,然后在某个阈值切换到数据库。我对这种方法的担忧是,改变硬件可能会允许更多的锁,而对系统的压力更小。并且为阈值找到正确的平衡也很麻烦,并且没有考虑机器上的任何其他负载。但这是一种简单的方法,而且简单在 99% 的情况下都更好。