dottrace - 为什么 dottrace 显着提高了我的 Web 应用程序的启动时间?
问题描述
我试图找出为什么我的 web 应用程序 (.NET + Sitecore) 需要这么长时间才能启动,但 dottrace 使它启动得更快。
当前启动时间约为 270 秒,但当我使用 dottrace 启动应用程序时,它实际上需要 30 秒。每次包括其他开发人员机器在内,这都是可重现的。
我正在使用 .NET 4 和 IIS 10(应用程序池作为网络服务运行)。
解决方案
性能取决于 Windows 内核计时器分辨率,并且 dotTrace 将此计时器的值更改为可能的最小值。因此,如果 dotTrace 使您的程序更快,它可能表明(例如)您的程序中有许多 Thread.Sleep(n) 调用,其中“n”是一个相对较小的数字(1-5-10-20 毫秒)。你的应用程序中有这样的调用吗?
推荐阅读
- javascript - 如何检查来自 laravel 控制器的 ajax 响应是否为空?
- gradle - 在 gradle 项目中使用 gitlab CI 无法访问 SonarQube 服务器
- html - 为什么当我将鼠标悬停在下拉按钮上时,它的链接没有出现?
- ruby-on-rails - 是否可以在不传递代码块的情况下使用 ruby vcr gem
- java - 有没有办法可以在 GWT 中缓存方法或查询结果?
- scala - Kafka - 为什么将 AUTO_OFFSET_RESET_CONFIG 设置为“最新”时,新的 groupId 不返回主题中的所有消息
- python - 将带有“X”列的表格数据转换为没有熊猫或 csv 包的字典
- c# - 如何从包含 JSON 语法数据的文件中读取数据并将所需键和值存储为变量
- python-3.x - 如何在python中按迭代器数加载文件?
- typescript - 我可以在不先查询所有文档的情况下在 Firestore 中更改与某个条件相对应的所有文档吗?