如何通过 EQATEC 分析器分析远程服务器上的 ASP.NET Web 服务?
我认为修改后的 dll 会在远程系统的某个位置创建一个日志文件,以便我可以在负载测试后稍后打开它,但我发现的只是 $(SystemRoot)\Temp\EQATECProfilerLogs 中的一个日志文件,除了应用程序已启动之外什么也没说。我需要在远程服务器上安装 EQATEC profiler 吗?
谢谢
I am thinking the modified dlls will create a log file some where in the remote system so I can open it later after load test but all I found was a log file in $(SystemRoot)\Temp\EQATECProfilerLogs saying nothing other than app started. Do I need to install EQATEC profiler on the remote server?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此 EQATEC 论坛帖子中解决了这种情况
:当我们希望被分析的应用程序生成其分析报告时,需要被告知。对于普通应用程序来说,这很简单,因此已经自动化:当 Main 退出时。但是你的网络服务没有类似的“退出点”——它只是继续运行,直到你杀死它。
因此,您必须显式/手动告诉分析的 Web 服务拍摄快照。最简单的方法是在运行 Web 服务的同一台计算机上运行探查器:当 Web 服务启动时,它将自动连接到探查器,然后您可以运行测试并控制/转储计时信息随意使用“拍摄快照”和“清除计数器”按钮。
或者,您可以在代码中引用所提供的运行时模块,并在代码中精确的位置显式调用 API(TakeSnapshot 等)。运行时模块位于 C:\Program Files\EQATEC\EQATECProfiler\RuntimeDLL 中。
This scenario is adressed in this EQATEC forum thread:
A profiled app needs to be told when we want it to produce its profiling report. For plain apps this is simple and has therefore been automated: when Main exits. But your web-service has no similar "exit point" - it just keeps on running until you kill it.
Therefore you have to explicitly/manually tell the profiled web-service to take a snapshot. The easiest way is to simply run the profiler on the same machine as the web-service is running on: when the web-service is starting up it will automatically connect to the profiler and you can then run your tests and control/dump timing info at will using the "take snapshot" and "clear counters"-buttons.
Alternatively, you can make a reference to the supplied runtime-module from within your code and make explicit calls to the API (TakeSnapshot etc) precisely where you want in your code. The runtime-modules reside in C:\Program Files\EQATEC\EQATECProfiler\RuntimeDLL.