Windows IIS SQLServer性能测试有关计数器监视及相应的分析方法@

上传人:m**** 文档编号:165100696 上传时间:2022-10-26 格式:DOCX 页数:13 大小:38.11KB
收藏 版权申诉 举报 下载
Windows IIS SQLServer性能测试有关计数器监视及相应的分析方法@_第1页
第1页 / 共13页
Windows IIS SQLServer性能测试有关计数器监视及相应的分析方法@_第2页
第2页 / 共13页
Windows IIS SQLServer性能测试有关计数器监视及相应的分析方法@_第3页
第3页 / 共13页
资源描述:

《Windows IIS SQLServer性能测试有关计数器监视及相应的分析方法@》由会员分享,可在线阅读,更多相关《Windows IIS SQLServer性能测试有关计数器监视及相应的分析方法@(13页珍藏版)》请在装配图网上搜索。

1、有关 windows 资源计数器:Processor% Processor Time所有进程线程使用处理器执行 指令所花的时间百分比。可判断CPU主要是消耗在应 用程序还是CPU本身。% User Time指处理器处于用户模式的时间 百分比。% Privileged Time在特权模式下处理线程执行代码所花时间的百分比。ProcessProcessor Time (主要的 几个进程)具体某个进程线程使用处理器 执行指令所花的时间百分比。查看主要的几个进程占用 的 CPU。Private bytes (主要的几个进程)指某个进程不能与其他进程共 享的、已分配的当前内存的字节 数。查看主要的几个进

2、程占用 的内存。SystemProcessor Queue Length处理器等待队列。判断是否存在CPU瓶颈。MemoryAvailable Bytes可用的物理内存量,此内存能立 刻分配给一个进程或系统使用。它等于分配给待机(缓存 的)、空闲和零分页列表内 存的总和。Pages/sec指为解决硬页错误从磁盘读取 或写入磁盘的速度。这个计数器是可以显示导 致系统范围延缓类型错误 的主要指示器。Pages Read/sec取读磁盘以解析硬页面错误的 速度。Pool Nonpaged Bytes指在非分页池中的字节数。非分页池是指系统内存(操 作系统使用的物理内存)中 可供对象(指那些在不处于

3、使用时不可以写入磁盘上 而且只要分派过就必须保 留在物理内存中的对象)使 用的一个区域。Physical Disk% Disk Time指所选磁盘驱动器忙于为读或 写入请求提供服务所用的时间 的百分比。Avg. Disk Queue Length指读取和写入请求(为所选磁盘 在实例间隔中列队的)的平均 数。Disk Reads/sec指在此盘上读取操作的速率。Disk Writes/sec指在此盘上写入操作的速率。Avg. Disk Sec/transfer指以秒计算的一般磁盘传送所 需时间。Network InterfaceBytes Total/sec是在每个网络适配器上发送和 接收字节的

4、速率,包括帧字符在 内。相应的分析方法:一、内存1、查看 Available MBytes (memory)。可用物理内存数。一般要保留10%的可用内存。最低不能4M,此值过小可能是内存不 足或内存泄漏。2、查看 page faults/sec(memory)、pages input/sec(memory)及 page reads/sec(memory)如果有个程序请求内存中的一页,但系统无法在所需的位置上找到它,就会构成一个分 页错误。如果此页位于内存中的其它位置,则此错误便称为软件分页错误。如果必须从磁盘 获取此页,则此错误便称为硬件分页错误。大部分的处理器可以处理大量的软件错误而不会 引

5、起任何后果。但是,硬件错误却会导致严重的延迟。page faults/sec是指处理器处理错误页(包括硬件及软件分页错误)的整体速度。pages inpu t/sec是指为了解决硬件分页错误而从磁盘读取的总页数。pages reads/sec是指为了解决硬件分页错误而读取磁盘的次数。rpages input/sec会大于或等于page reads/secJ,并且能够清楚地让您了解硬件 分页错误率。如果这些数字都很低,则服务器应该可以快速地响应请求。如果很高,则可能 是因为您用了太多的内存在缓存处理上,而没有留足够的内存供系统的其它部份使用。可以 增加内存或降低缓存的ram大小来解决。详细:pa

6、ge Faul ts/sec:只表明数据不能在内存的指定工作集中立即使用; page Input/sec: page input/sec page reads/sec;page Reads/sec: 阈值为5.越小越好,大数值表示磁盘读而不是缓存 读;Page/sec:指为解析硬页错误从磁盘读取或写入磁盘的页数(是Pages Input/sec和Pages Output/sec 的总和)。其值推荐00-20如果服务器没有足够的内存处理其工作负荷,此数值 将一直很高。如果大于80,表示有问题(太多的读写数据操作要访问磁盘,可考虑增加内存 或优化读写数据的算法),如果值比较低,说明Web服务器响应

7、请求比较快,否则可能是服 务器系统内存短缺引起( 也可能是缓存太大,导致系统内存太少)。3、查看 Pool Nonpaged Bytes (Memory)计数器的值。Pool Nonpaged Bytes 指在非分页池中的字节数,非分页池是指系统内存(操作系统使 用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必 须保留在物理内存中的对象)使用的一个区域。缓慢增长表示存在内存泄漏问题。二、处理器1 %processortime(processor)、 %usertime(processor)、 %privilegedtime(processor)% Process

8、or Time 指处理器执行非闲置线程时间的百分比; 通俗一点讲就是 CPU 使用 率。这是监视处理器活动的主要指示器。它通过在每个范例间隔中衡量处理器用于执行闲置 处理线程的时间,并且用100%减去该值得出。(每台处理器有一个闲置线程,该线程在没有 其它线程可以运行时消耗周期)。可将其视为范例间隔用于做有用工作的百分比。 正常值90,此值过大表示处理器的性能已经不能应付程序的要求,要换更快的处理器。该 数值持续超过 90%,则表示此测试的负载对于目前的硬件过于沉重。排除内存因素,如果该 计数器的值比较大,而同时网卡和硬盘的值比较低,那么可以确定CPU瓶颈。% User Time 指处理器处于

9、用户模式的时间百分比。如果该值较大,说明应用程序或数 据库需要进行优化。% Privileged Time 是在特权模式下处理线程执行代码所花时间的百分比。2、processor queue length(system)Processor Queue Leng th:是指处理列队中的线程数。显示在由Web服务器所有处理 器共享的队列中等待执行的线程数。如果处理器列队中总是有2个以上的线程通常表示处理 器堵塞。参考值:小于 2。处理器瓶颈会导致该值持续大于 2。三、网络1、bytes total/sec(network interface 。若要判定您的网络连接是否正在存在瓶颈,请比较 netw

10、ork interface: bytes tot al/sec计数器与您的网络适配卡总带宽。若要在传送量中留些空间供尖峰时间用,则 不应常使用超过 50% 的容量。如果这个数字十分接近连接的容量,而处理器及内存的使用 都很适中,则此连接也会是个问题。四、磁盘1、% processor time(processor),bytes total/sec(network interface connection) 及% disk time(physicaldisk 。Physical Disk、% Disk Time、Physical Disk、Avg.Disk Queue Length、Memory

11、、Pages/sec(结果分 析方法资料收集.doc)有不同说法。%Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果这三个计数器的值都很高,则硬盘不会引起站点的瓶颈。但是,如果 disk time 的值很高,但处理器及网络连接并没有饱和,则硬盘可能会造成瓶颈。如果在您的服务器上 没有启用physical diskj计数器,请在Windows 2000的命令行窗口中运行diskperf-yD。 正常值10,此值过大表示耗费太多时间来访问磁盘,可考虑增加内存、更换更快的硬盘、 优化读写数据的算法。若数值持续超过80(此时处理器及网络连接并没有饱和),则可能

12、是 内存泄漏。2、 Avg. Disk Queue Length、Page Reads/sec指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。正常值0.5,此值过大 表示磁盘IO太慢,要更换更快的硬盘。Disk Transfers/sec指在此盘上读取/写入操作速率。正常值(Disk Bytes/sec)/3, 此值过大表示系统要求的10速度已接近硬盘的最大速度,要更换更快的硬盘。Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Leng th。如果页面读取操作速 率很低,同时% Disk Time和Avg.Disk Queue Leng t

13、h的值很高,则可能有磁盘瓶径。但 是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。有关IIS应用服务器计数器:ActiveServerPagesrequests/secrequests executingrequest wait time最近的请求在队列中等待的时间(毫 秒)。request executing time执行最近的请求花费的时间(毫秒)。requests queuedAApplication Restarts应用程序重新启动的次数.Requests Queued排队的请求数。WorkerProcessRestarts辅助进程重新启动的次数。Asp.ne tAppli

14、ca t ionErrors Total错误总数。Requests/Sec每秒执行的请求数。Pipeline InstanceCou nt指定的ASP.NET应用程序的活动请求 管线实例的数目。CacheTotalTurnover Rate每秒对总缓存的添加数和移除数。IISGLOABLEFile Cache FlushesFile Cache Hits %文件缓存命中数占全部缓存请求的比 率。ProcessProcessor Time (主要的 几个进程)具体某个进程线程使用处理器执行指 令所花的时间百分比。查看主要的几个进程占 用的CPU。Private bytes (主要的几个进程)指某

15、个进程不能与其他进程共享的、已 分配的当前内存的字节数。查看主要的几个进程占 用的内存。SystemContext Switches/sec计数器测量Web服务器计算机中的所 有CPU切换线程上下文的速率。WebServicemaximum connections是通过Web服务同时进行非匿名连接的最大用户数(从服务启动后)。totalconnectionattempts尝试通过Web服务进行连接的总数(从服务启动后)。此计数器针对所有列出 的实例。cgi requests/sec每秒Web服务接收的CGI请求数。isapiextensionrequests/sec执行最近的请求花费的时间(毫

16、秒)。MemoryAvailable Bytes可用的物理内存量,此内存能立刻分配 给一个进程或系统使用。它等于分配给待机(缓存 的)、空闲和零分页列表 内存的总和。Pages/sec指为解决硬页错误从磁盘读取或写入 磁盘的速度。这个计数器是可以显示 导致系统范围延缓类型 错误的主要指示器。Pages Read/sec取读磁盘以解析硬页面错误的速度。Pool Nonpaged Bytes指在非分页池中的字节数。非分页池是指系统内存 (操作系统使用的物理内 存)中可供对象(指那些 在不处于使用时不可以 写入磁盘上而且只要分 派过就必须保留在物理 内存中的对象)使用的一 个区域。Cache Byt

17、es显示文件系统缓存的大小。page file bytes : total系统上分页文件的大小。PhysicalDisk% Disk Time指所选磁盘驱动器忙于为读或写入请 求提供服务所用的时间的百分比。Avg. Disk Queue Length指读取和写入请求(为所选磁盘在实例 间隔中列队的)的平均数。Disk Reads/sec指在此盘上读取操作的速率。Disk Writes/sec指在此盘上写入操作的速率。Avg. Disk Sec/transfer指以秒计算的一般磁盘传送所需时间。NetworkInterfaceBytes Total/sec是在每个网络适配器上发送和接收字节的速率

18、,包括帧字符在内。与性能有关系的参数调整:1、查看 requests/sec、requests executing、request wait time、request executing time、 requests queued(active server pages 。active server pages : requests/sec不含静态文件或其它动态内容的请求,它会根 据 asp 网页的复杂度及您 web 服务器的容量明显地变动。如果这个计数器在服务器上的传输量处于尖峰期间出现低值的话,则您的应用程序可能会导 致瓶颈。requests executing显示目前正在执行的请求数目;

19、request wait time显示最近的 请求在队列中等待的毫秒数;request execution time显示最近的请求花在执行上的毫 秒数。理想的状态是requests queued及request wait time应保持接近0,但它们会在 不同的载量下起伏变动。最大 requests queued数目是由 asprequestqueuemax的 metabase 设置来决定。如果达到此限制,则客户端浏览器将显示 http 500/ 服务器太过忙碌。此时,若请求的 执行时间request execution time很短,而且在队列中的时间request wait time 很短

20、,则可以考虑增加asprequestqueuemax限制值(默认请求限制3000个)。(如果reques ts execu ting、reques ts queuedj都较小,而CPU的使用率较高,则可 以减小 aspprocessorthreadmax 的值,看一下性能是否有所提高) 如果这些数字大幅偏离了预计的范围,则您的 asp 应用程序可能必须重写才能提高性能。 如果reques ts execu ting的值是高的、reques ts queued是大的,而CPU的使用率是 较低的,则可能必须增加 aspprocessorthreadmax。2、查看 Requests Queued

21、(A)计数器的值。队列中等待服务的请求的数目。当该数开始随客户端负载线性增加时,Web服务器计算 机已达到能同时处理的请求数的上限。该数的默认最大值为 5,000。 若达到最大值,可以在计算机的 Machine.config 文件中更改此设置。3、查看 page faults/sec(memory)、pages input/sec(memory)及 page reads/sec(memory)如果有个程序请求内存中的一页,但系统无法在所需的位置上找到它,就会构成一个分 页错误。如果此页位于内存中的其它位置,则此错误便称为软件分页错误。如果必须从磁盘 获取此页,则此错误便称为硬件分页错误。大部分

22、的处理器可以处理大量的软件错误而不会 引起任何后果。但是,硬件错误却会导致严重的延迟。page faults/sec是指处理器处理错误页(包括硬件及软件分页错误)的整体速度。pages inpu t/sec是指为了解决硬件分页错误而从磁盘读取的总页数。pages reads/sec是指为了解决硬件分页错误而读取磁盘的次数。pages input/sec会大于或等于page reads/sec,并且能够清楚地让您了解硬件分页 错误率。如果这些数字都很低,则服务器应该可以快速地响应请求。如果很高,则可能是因为您用了 太多的内存在缓存处理上,而没有留足够的内存供系统的其它部份使用。您可能必须在服务

23、器上添加 ram 的容量,但是降低缓存的大小也是可行的。4、查看 cache byt es(memory)、ile cache hits %(i nt erne t informa tion services global)、 file cache flushes(internet information services global) , 及 file cache hits(internet information services global)。第一个计数器memory : cache bytes,显示文件系统缓存的大小,其默认为最多 使用 50% 的可用物理内存。由于当缓存的内存快要

24、不足时, iis 会自动调整它,所以请留 意这个计数器行进的方向。第二个计数器是缓存存取次数与缓存请求总数的比例,它会反应出此iis文件缓存 的设置表现的好不好。对于主要由静态文件组成的网站来说, 80% 以上的缓存存取次数应是 个不错的数字。请比较最后两个计数器的记录文件iis global: file cache flushes(自服务器启动后 的文件缓存刷新数)及iis global : file cache hits(文件缓存中查找成功的总数), 以判定您是否正以适当的速度将对象从您的缓存清除。如果清除发生太快,则对象可能会比 其应有的频率更常从缓存中清除出来。如果清除发生太慢,就会浪

25、费内存。请参阅中关于 objectcachettl 、 memcachesize 及 maxcachedfilesize 对象的说明( 通过调整 iis metabase 内容)。5、contextswitch/sec:dllhost#n(thread) , context switchs/sec:inetinfo=thread# (thread) ,context switches/sec(system 。如果决定增加线程缓冲池的大小,便应该监视这里列出的三个计数器。增加线程数目可 能会增加内容切换的数目,因而造成性能不增反降。每一个请求有 10 个或以上内容切换就已经是相当高的数字了;如果

26、出现这些数字,请考虑 降低线程缓冲池大小 想通过测量连接及请求来得出线程及整体性能之间的平衡点是不容易 的。每次当您调整线程时,请接着监视整体性能,以检查性能是增进还是降低。若要判定是 否应该调整线程计数,请将进程中的每一个线程数目和处理器时间拿来和总处理器时间作比 较。如果线程持续忙碌,但并没有使用全部的处理器时间,则建立更多线程对性能会有帮助。 不过,如果所有线程都很忙,而且处理器已快接近最大容量,则最好将载量分配给更多服务 器,而不要增加线程的数目。请参阅本文中附录1 :性能设置的aspthreadgateenabled 及 aspprocesso rt hreadmax met aba

27、se 属性。6、 maximum connections (web service)及total connection attempts (web service 。 有关最大连接数。如果您正在计算机上执行的其他服务也使用网络连接,则应监视web service: maximum connec七匚0皿及web service: total connection attempts计数器, 以检查您的web服务器是否能够尽可能地使用它需要的连接数目。请记得将这些数字与内存 及处理器使用量作比较,如此才能确定连接就是问题,而不是其它组件有问题。其它关于IIS的调优设置一1、选用“HTTP压缩”压缩文

28、件、压缩静态文件。2、connectiontimeout-这个属性会指定服务器在中断一条非使用中的连接之前,将等待的 秒数。默认值是 900(15分钟)。因为开启的连接会降低性能,所以请考虑降低此值,并监 视您的服务器在改变之后会有什么效果。与程序设计、编码有关系的性能调整:1、cgi requests/sec (web service)及丨sapi extension requests/sec(web servcie)。会报告您的服务器是以哪个速度处理cgi及isapi应用程序请求。如果这些值在负载增加时降低,则可能必须请求应用程序开发人员重新检查他们的程序 代码。2、Application

29、 Restarts、Worker Process Restarts(A)。Applica ti on Res tart s应用程序重新启动的次数.Web服务器的生存期中应用程序重 新启动的次数。应用程序重新启动的次数随每次发生Application_0nEnd事件增加。由于 Web.config文件的更改、存储在应用程序bin目录中的程序集的更改或者Web窗体页的 过多更改,均可能导致发生应用程序重新启动。此计数器的意外增长可能意味着无法预料的 问题正导致您的 Web 应用程序关闭。在这种情况下,应尽快进行调查。Worker Process Res tar ts辅助进程重新启动的次数。服务器计

30、算机上辅助进程重新 启动的次数。如果辅助进程意外地失败或者被有意地回收,则能够被重新启动。如果该计数 器的值意外增加,应尽快进行调查。注意:每次重新启动 Internet 信息服务 (IIS) 主机时都会重置该值。3、看 Errors Total (A Application) 计数器的值。错误总数。执行 HTTP 请求过程中发生的错误总数。包括所有分析器错误、编译错误或 运行时错误。此计数器为 Errors During Compilation、 Errors During Preprocessing 和 Errors During Execution 计数器的总和。正常运行的 Web 服务

31、器不应发生错误。如果 ASP. NET Web 应用程序中发生错误,它们可能会歪曲任何吞吐量结果,因为错误恢复的代码 路径与原来的完全不一样。在性能测试前应调查并修复应用程序中的所有错误。4、看 Context Switches/sec (System)、%processor time (processor)计数器的值。Context Switches/sec 计数器测量 Web 服务器计算机中的所有 CPU 切换线程上下文 的速率。此计数器的高数值通常说明存在高的锁争用,或是线程在用户模式与内核模式之间 有大量切换。可能需要使用采样分析器和其他工具进一步研究。如果系统的吞吐量降低并且 CPU

32、 的使用率很高,并且此现象发生时切换水平在 15000 以上,那么意味着上下文切换次数过高。5、查看 Cache Total Turnover Rate (Asp.ne t Applica tion)计数器的值。Cache Total Turnover Rate 高周转率可能说明存在问题。可能原因:缓存中有容易重 新计算和很少使用的项或给缓存的项分配的有效期太短。6、查看 Pool Nonpaged Bytes (Memory)计数器的值。Pool Nonpaged Bytes 指在非分页池中的字节数,非分页池是指系统内存(操作系统使 用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁

33、盘上而且只要分派过就必 须保留在物理内存中的对象)使用的一个区域。缓慢增长表示存在内存泄漏问题。SQL SERVER 数据库服务器计数器:.NET CLRDataSqlclient:Current # pooled and nonpooled connectionsSqlclient:Current #pooled connectionsSqlclient:peak#pooled connectionsSqlclient:Total#failed connectsSqlclient:Current #connection poolsSQLServer缓存管理缓冲命中率可在高速缓存中找到而不 需

34、要从磁盘中读取的页的 百分比。这一比率是高速缓 存命中总数除以自SQL Server实例启动后对高速 缓存的查找总数。经过很长时间后,这一比率的变化很 小。由于从高速缓存中读数据比从磁 盘中读数据的开销要小得多,一般希 望这一数值高一些。通常,可以通过 增加SQL Server可用的内存数量来 提高高速缓存命中率。页读出/秒每秒发出的物理数据库页 读取数。这一统计信息显示 的是在所有数据库间的物 理页读取总数。由于物理I/O的开销大,可以通过 使用更大的数据高速缓存、智能索 弓1、更高效的查询或者改变数据库设 计等方法,使开销减到最小。页写入/秒所发出的物理数据库页写 入的数目。目标页缓冲池中

35、理想的页的数目。全部页缓冲池中页的数目(包括数 据库、可用页和被盗用页)SQL ServerGeneralStatisticsUser Connections用户连接数。由于每个用户连接都消耗一些内存, 配置的用户连接数过高会影响吞吐 量。将用户连接数设置为预期的最大 并发用户数。SQL ServerMemoryManager连接内存(KB)服务器正在用来维护连接 的动态内存总量。锁内存(KB)服务器用于锁的动态内存 总量。SQL高速缓冲内存(KB)服务器正在用于动态 SQL 高速缓存的动态内存总数。总的服务器内存(KB)服务器当前正在使用的动 态内存总量(以KB为单 位)。目标服务器内存(K

36、B)服务器正打算使用的动态内存总量SQL ServerLocksAverage Wait Time(ms)每个导致等待的锁请求的 平均等待时间(毫秒)。Lock Requests/sec锁管理器每秒请求的新锁 和锁转换数。NumberofDeadlocks/sec每秒导致死锁的锁请求数。SQLServer:SQLStatisticsBatchRequests/sec每秒收到的Transact-SQL 命令批数。这一统计信息受 所有约束(如I/O、用户数、 高速缓存大小、请求的复杂 程度等)影响。批请求数值高意味着吞吐量很好。SQL Compilations/sec每秒的SQL编译数。表示 编译

37、代码路径被进入的次 数。包括由于重新编译而进 行的编译。SQL Server用户活动稳定后,该值 也达到某一稳定状态。SQLRe-Compilations/sec每秒的SQL重新编译数。 计算重新编译被触发的次 数。一般来说,重新编译计数器最好保持 较低数值。ProcessProcessor Time (主要的几个进程)具体某个进程线程使用处 理器执行指令所花的时间 百分比。查看主要的几个进程占用的CPU。Private bytes (主要的几个进程)指某个进程不能与其他进 程共享的、已分配的当前内 存的字节数。查看主要的几个进程占用的内存。ThreadCount(sqlservr)Sql s

38、erver的线程数。查看线程数。SystemContext Switches/sec计数器测量Web服务器计 算机中的所有CPU切换线 程上下文的速率。此计数器的高数值通常说明存在高 的锁争用,或是线程在用户模式与内 核模式之间有大量切换。可能需要使 用采样分析器和其他工具进一步研 究。MemoryAvailable Bytes可用的物理内存量,此内存 能立刻分配给一个进程或 系统使用。它等于分配给待机(缓存的)、空闲和 零分页列表内存的总和。Pages/sec指为解决硬页错误从磁盘 读取或写入磁盘的速度。这个计数器是可以显示导致系统范 围延缓类型错误的主要指示器。Pages Read/sec

39、取读磁盘以解析硬页面错 误的速度。Pool Nonpaged Bytes指在非分页池中的字节数。非分页池是指系统内存(操作系统使 用的物理内存)中可供对象(指那些 在不处于使用时不可以写入磁盘上 而且只要分派过就必须保留在物理 内存中的对象)使用的一个区域。Cache Bytes显示文件系统缓存 的大小。page file bytes : total系统上分页文件的大小。PhysicalDisk% Disk Time指所选磁盘驱动器忙于为 读或写入请求提供服务所 用的时间的百分比。Avg.DiskQueueLength指读取和写入请求(为所选 磁盘在实例间隔中列队的) 的平均数。Disk Re

40、ads/sec指在此盘上读取操作的速 率。Disk Writes/sec指在此盘上写入操作的速 率。Avg.DiskSec/transfer指以秒计算的一般磁盘传 送所需时间。NetworkInterfaceBytes Total/sec是在每个网络适配器上发 送和接收字节的速率,包括 帧字符在内。相应的分析方法 有关参数调整:1、首先看 Available Kbytes 计数器的值。若可用内存不多(小于50兆),说明有其它应用程序抢占内存,此时可以考虑增大SQL SERVER的使用内存,看是否可以提升性能。增大有关SQL SERVER使用内存方法:a. 通过调整属性,保留适量的可用内存,调整

41、“SQL Server内存的最大值、最小值” 可以增大最小可用内存。b. 增大“最小查询内存”;c. 如果物理内存大于4G,可以考虑启用AWE。2、查看Committed Bytes计数器的值(使用的内存总数)若大于物理内存,则可采用 1 的方法解决。3、查看 page file bytes : total(process)若超过2倍的物理内存。解决方法同1。4、查看Available Kbytes、全部页、目标页计数器的值。Available Kbytes 较小,且全部页已经接近目标页的值,则可以考虑将 Buffer pool (sql server可用的内存)缩小,释放一些内存。通过设置最

42、小服务器内存和最大服 务器内存。5、看缓存命中率、页写入/秒、页读出 (SQL Sever |缓冲管理器)计数器的值。Buffer catch hit ratio计数器的值应该稳定的保持较高的数值,同时Page Reads/sec、Page Writes/sec 计数器的值应该很低。如果 Buffer catch hit ratio 计数器的值较低,且 Page Reads/sec、Page Writes/sec 计数 器的值较高。可以得出缓存命中率较低,可以考虑增加Buffer pool,增加内存用于数据高 速缓存。6、查看 Thread Count(sqlservr):process 计数

43、器的值。SQL SERVER 默认的最大工作线程为 255,若该计数器的值小于 255,可以考虑将 SQL SERVER 的最大工作线程改为一个较小的值,有可能提高性能。7、查看 User Connections (SQL Server General Statistics)计数器的值。由于每个用户连接都消耗一些内存,配置的用户连接数过高会影响吞吐量。将用户连接 数设置为预期的最大并发用户数。8、调整虚拟内存的大小。因为虚拟内存使用时,是耗物理内存的。一般大小设置位物理内存的2.54倍。9、增加纤程并行可以提高执行效率,但是也可能引起CPU高利用率。 解决办法之一:利用增加纤程或者增加CPU。

44、可以更新,安装一些相应的补丁,增加并行的操作能力。有关程序设计、代码编写:1、查看 Average Wait Time (ms)、 Lock Requests/sec、 Number of Deadlocks/sec ( SQL Server ILocks)计数器的值。若 Lock Requests/sec 数值较大,会引起上下文切换增加,若 Lock Requests/sec、 Number of Deadlocks/sec 的值较大,可以得出软件系统存在 死锁及长时间锁等待情况,可以考虑修改有关锁的程序。2、查看 Context Switches/sec (System)、%process

45、or time (processor)计数器的值。Context Switches/sec 计数器测量 Web 服务器计算机中的所有 CPU 切换线程上下文 的速率。此计数器的高数值通常说明存在高的锁争用,或是线程在用户模式与内核模式之间 有大量切换。可能需要使用采样分析器和其他工具进一步研究。如果系统的吞吐量降低并且 CPU 的使用率很高,并且此现象发生时切换水平在 15000 以上,那么意味着上下文切换次数过高。3、查看 Batch Requests/sec、 SQL Compilations/sec、 SQL Re-Compilations/sec (SQL Sever ISQL Statistics)计数器的值。BatchRequests/sec 数值较低,且 SQL Compilations/sec、 SQLRe-Compilations/sec 保持较高数值,可以得出软件系统存在大量的编译及重编译现象。会占用较多的CPU利用率。4、查看 Pool Nonpaged Bytes (Memory)计数器的值。Pool Nonpaged Bytes 指在非分页池中的字节数,非分页池是指系统内存(操作系统使 用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必 须保留在物理内存中的对象)使用的一个区域。缓慢增长表示存在内存泄漏问题。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!