.NET CLR性能评测
创始人
2024-06-07 12:41:14
0

本文主要讲解.NET CLR,其中最主要的.NET CLR性能检测,通过此文你会对.NET CLR有更深刻的了解的

控制代码提升也是数据库管理员的一个关键角色。.NET CLR允许开发者直接在共享系统上部署,那么它所导致的最终在生产环境中部署产生的不可控源代码和错误几乎是不可避免的。

当建立了一个错误版本的源代码或者创建了一个从未测试过的代码时都会马上要求重编译。最终测试环境中不能再有问题出现,因为在资源不能匹配的时候产品程序集是不能做调试的。

下面的例子例举了Microsoft C# 程序编译器 csc.exe (.NET Framework 中的C# 编译器).

  1. Csc.exe /noconfig /nowarn:"1701;1702" /warn:4 /define:DEBUG;TRACE
  2.  /reference:
  3. C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215  
  4. \System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215  
  5. \System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215  
  6. \System.Web.Services.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\
  7. v2.0.50215  
  8. \System.XML.dll /debug+ /optimize- /out:obj\Release\
  9. MainframeWebService.dll 
  10. /target:libraryIBMSystemCode.cs AssemblyInfo.cs "Web References\
  11. com.Mainframe.webservices\Reference.cs"  

这是一个调用web服务的例子,下面的阶段要求连续的代码,这将在下面的例子中提到。这个程序是安装在.NET Framework 2.0 SDK 下,可以在C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin找到。在SQL Server 2005 中使用CREATE ASSEMBLY命令或者用户界面注册一个创建的程序集“MainframeWebService.XmlSerializers.dll”

Sgen.exe /n /f MainframeWebService.dll

.NET CLR使用Transact-SQL 注册程序集。

  1. CREATE ASSEMBLY [MainframeWebService]  
  2. AUTHORIZATION dbo  
  3. FROM 'C:\MWS\bin\Release\MainframeWebService.dll'  
  4. WITH permission_set = external access  
  5. go  
  6. CREATE ASSEMBLY [MainframeWebService.XmlSerializers]  
  7. AUTHORIZATION dbo  
  8. FROM 'C:\MWS\bin\Release\MainframeWebService.xmlserializers.dll'  
  9. WITH permission_set = safe 
  10. go  

上面的代码完成了对开发代码的编译,产生了编译代码,然后通过CREATE FUNCTION/PROCEDURE加载了程序集到SQL Server 2005

◆.NET CLR之Productivity Tip

产生的代码会在它的父程序集之后加载。在stealth模式下是相反的,并且父程序集自动加载。要求使用CREATE语句并用ALTER ASSEMBLY … WITH VISIBILITY = ON解锁它。

使用专业工具可以让开发者达到最大的生产力。数据库部署环境也能够被转移到一个好的生产实例上,同时做到控制代码保护。数据库管理员 可以通过配置CLR技术而不会有系统稳定性方面的风险。

.NET CLR之性能检测

如果数据库管理员 安装了SQL Server 2005 ,然后开启了Windows System Monitor (PERFMON.EXE),它可能会失望的看到只有一个SQL Server CLR counter (SqlServer:CLR “CLR Execution”)给出了CPU的统计报告。

然而这是一个误导,因为在.NET CLR计算器组中存在着大量的计数器。他们在性能列表里面。他们可以根据SQL Server 服务的名字来做筛选。

◆.NET CLR之Productivity Tip

.一个服务器运行多个SQL Server 实例处理的时候,每个.NET CLR代码在列表中都不显著,这时,应该将某一个实例连接到.NET CLR,然后通过CPU的活动型来判别。

计数器有很多的设置帮助我们了解程序在SQL上运行时的健康性和活动型。

◆.NET CLR Exceptions –Exceptions/Sec 提供了一个对应用程序代码的早期警告,如果这个值比平时高(这个设置也可以用在正常的功能上),应用程序可能会失败。更深入的报告要去看错误日志。

◆.NET CLRLoading – SQL Server 使用AppDomain在数据库之间隔离代码。一个CLR 为程序提供了一个独立运行时。这个设置可以检测AppDomains和系统上加载的程序集的数量。这个值太大意味着“procedure cache”的压力过大。

◆.NET CLR Memory –提供了三种CLR内存的详细信息。这个计数器还可以检测CLR内存的使用情况,可以设置警告值。提示代码的问题,从而使代码使用较低的内存重新设计。

以上就是对.NET CLR的简单介绍。

【编辑推荐】

  1. 浅析C#数组操作方法
  2. C#数组操作全面分析
  3. C#数组和串操作经验总结
  4. 为你解疑:CLR是什么?
  5. 分析与对比CLR Via C#静态构造函数的性能

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...