微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何识别ASP.NET / IIS / SQL Server网站上的性能和并发问题

我将不胜感激关于工具和实践,我可以用来确认我最近完成的网站正确执行的任何意见。

虽然我相信代码不会产生错误,并且在function上应该像它应该那样运行,但是我对如何识别IIS,sql Server和Windows性能/并发性问题却一无所知。 例如,如果这个网站被一大堆stream量短暂击中,我怎么会意识到这个事件曾经发生过,我怎么知道这个网站是否应付了这个事情。

该网站是使用运行在Windows 2003 R2标准版,sql Server 2005工作组版和IIS 6上的ASP.NET 2.0和C#编写的。

Windows Azure设置演练(最好是虚拟指导)?

ASP.NET:你最常用的httpmodules

连接到一个在IIS上运行的代码隐藏的COM接口?

Windows Azure VM网站设置

如何解决上传到asp.net IIS服务器不支持”MessageEncoder内容typesparsing“错误

Web API 2 POST请求不在单声道上工作

Windowssearchsql:LIKE语句中的分号导致exception(E_FAIL 0x80004005)

Windows Azure – 无法创buildangular色入口点

将单声道移植到.Net

在Windows Azure中部署Unity3D

考虑使用也引发警报的日志记录机制,因此当数据库调用时间过长,表明服务器负载过高时,日志记录器会发出警告。 检查log4net 。

关于工具和做法,我推荐badboy和jmeter作为负载测试您的网站的工具。 Badboy很简单,可以生成也可以在Jmeter中使用的网址。 后者做了很好的工作负载测试您的网站。 执行长时间运行的测试,并使用不同的硬件设置来查看添加更多Web /应用程序服务器如何影响性能

另外,请查看PerfMon ,这个工具可以让您监视本地或远程Windows服务器的竞争率,cpu负载等等。

您可以使用负载生成工具(如WebLoad)来捕获然后重播(通过脚本进行可能的变化)用户与您的应用程序的用户界面进行大量线程和连接的交互。

如前所述,负载生成工具是相当有帮助的。 您可以为数据库添加的一件事是使用sql跟踪。 用非常具体的步骤设置一个测试计划,当您逐步执行计划时,跟踪服务器上运行的sql

这样,您可以确定某些操作是否导致不必要/重复的数据库调用。 此外,您可能会发现运行非常简单的操作的非常大型的非高性能查询

对于sql server,使用sys.dm_exec_requests DMV并检查cpu使用情况,读取,写入,阻止等

select blocking_session_id,wait_type,* from sys.dm_exec_requests

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐