澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:学习笔记,改进ie最大连接

2019-07-28 作者:服务器运维   |   浏览(179)

有没有可能在短短几秒内回答这个问题?也许你试图查看性能监视器PerfMon里面的性能计数器。里面有大约1000个名称各异的不同计数器。你可能会问:“Skipped Ghosted Records/sec”每秒跳过的幻影记录数)= 10,这个数值好还是坏?正确的回答是,这个数值可能并不重要。不过,有些计数器确实很重要。本文将帮助你找出这类计数器,还会教你如何为最常见的性能问题排除故障。

Memory: 内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。“页交换”是使用称为“页面”的单位,将固定大小的代码和数据块从 RAM 移动到磁盘的过程,其目的是为了释放内存空间。尽管某些页交换使 Windows 2000 能够使用比实际更多的内存,也是可以接受的,但频繁的页交换将降低系统性能。减少页交换将显著提高系统响应速度。要监视内存不足的状况,请从以下的对象计数器开始:

    最近公司为客户新上线了一个系统,主要做为日常办公之用。试用两天后,客户反映系统速度很慢,主要表现为首页面加载速度慢。下图为首页概况:

性能监视的工具有很多,首先介绍Microsoft Windows Server自带的Performance Monitor. Windows性能监视器是一个很好用的工具,可以实时检查运行程序影响计算机性能的方式(CPU,ROM,IO等),并通过收集日志数据供以后分析使用. 通过性能监视能了解系统loading以及这种loading对系统资源的影响, 分析性能或者资源使用率的变化趋势, 有效的对系统做出调整, 优化或者升级. 诊断系统故障或确定优化的组件或升级的步骤, 也可以找出性能瓶颈. 

性能监视的工具有很多,首先介绍Microsoft Windows Server自带的Performance Monitor. Windows性能监视器是一个很好用的工具,可以实时检查运行程序影响计算机性能的方式(CPU,ROM,IO等),并通过收集日志数据供以后分析使用. 通过性能监视能了解系统loading以及这种loading对系统资源的影响, 分析性能或者资源使用率的变化趋势, 有效的对系统做出调整, 优化或者升级. 诊断系统故障或确定优化的组件或升级的步骤, 也可以找出性能瓶颈. 

想开始入手,先从下列网址安装SQL Heartbeat工具:

连接到你的服务器后,你会看到服务器树结构中的两个类别:

Available Mbytes:可用物理内存数. 如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

澳门新萄京官方网站 1  

Performance Monitor是一个系统内置的MMC控制台: 包括系统监视器(System Monitor)和性能日志和警报(Performance Logs and Alerts)两个部分. 通过实时和日志的方式来记录服务器性能. 使用系统监视器可以取现, 曲方图或者报表的方式实时查看内存, 硬盘, 处理器, 网络等各种对象的性能数据. 使用性能日志也警报可以对计数器日志进行配置, 记录性能数据, 设置性能警报, 通过设定性能警报, 可以使系统在某一特定的计数器值低于或高于指定的值时及时通知系统管理员.

Performance Monitor是一个系统内置的MMC控制台: 包括系统监视器(System Monitor)和性能日志和警报(Performance Logs and Alerts)两个部分. 通过实时和日志的方式来记录服务器性能. 使用系统监视器可以取现, 曲方图或者报表的方式实时查看内存, 硬盘, 处理器, 网络等各种对象的性能数据. 使用性能日志也警报可以对计数器日志进行配置, 记录性能数据, 设置性能警报, 通过设定性能警报, 可以使系统在某一特定的计数器值低于或高于指定的值时及时通知系统管理员.

澳门新萄京官方网站 2

pages/sec: 表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数。一般如果pages/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。

      这是一个老日常办公系统的增强版,所以页面虽然是新的,但页面与数据大部份都是旧的。首页只是个大框架,然后把原系统的各个部份做成单独的页面放入进来。其中菜单部份用iframe套了老系统的菜单,任务列表通过访问原系统的web services获取数据,工作区是个tab页,第一个tab页是一些信息公告,用了近十个iframe来套老系统的页面。

澳门新萄京官方网站 3

澳门新萄京官方网站 4

点击“Online Activity/SQL Heartbeat”节点,你会立即看到五个不同的图表。但是最好点击“Historical Data”历史数据),等待一两天,等到累积了更准确的衡量指标为止。之后,你该查看图表上的哪些内容呢?首先,你应该关注一下Waits图表:

page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。阈值为>5. 越低越好。大数值表示磁盘读而不是缓存读。
由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。因此,在研究内存不足不太明显的页交换的原因时,您必须跟踪如下的磁盘使用情况计数器和内存计数器:

      我们系统大量采用了ajax,在页面还没有加载出来的时候,其空白处就显示:"加载中..." 。客户反映,主要是ie6用户,有时候首页上满页面都是加载中...要等近10秒才能显示出来。

下面简单介绍Windows Server 2003下的Performance Monitor, 通过日志记录性能数据, 之后分析.

下面简单介绍Windows Server 2003下的Performance Monitor, 通过日志记录性能数据, 之后分析.

澳门新萄京官方网站 5

Physical Disk" % Disk Time
Physical Disk" Avg.Disk Queue Length
例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。

      我的第一个返映就是:是不是因为ie6的js引擎效率低导致的,通过用httpwatch观查,发现其更重要的原因是http请求比较多,且系统返回数据时间较长,造成了很严重的排队现象。这就要从两个方面来解决了:服务端与客户端。

  1. 打开:Administrative Tools->Performance, 
  1. 打开:Administrative Tools->Performance, 

顺便说一下,你有没有注意到这张图上的周期性模式?比如说,周末期间活动比较少,到了晚上活动增加。为了更全面地了解数据库在正常工作时间段的运行状况,你在分析时可以将这些时段排除在外特别是由于这些时段可能是进行完全备份的时候)。我们可以排除这类数据,让我们的图表更流畅:

要确定过多的页交换对磁盘活动的影响,请将 Physical Disk" Avg.Disk sec/Transfer 和 MemoryPages/sec 计数器的值增大数倍。如果这些计数器的计数结果超过了 0.1,那么页交换将花费百分之十以上的磁盘访问时间。如果长时间发生这种情况,那么您可能需要更多的内存。

      首先是客户端。ie6不仅js引擎效率低,且对于同一服务器只能有两个并发解求,当http请求较多的时候,页面加载速度慢的问题就特别明显。解决方法是下载MS的一个ie补丁,它可以将ie6/ie7的最大连接数由2个改为10个。

或SQL Server Profiler->Tools->Performance Monitor,或在运行中输入"perfmon"

澳门新萄京官方网站:学习笔记,改进ie最大连接数与用windows性能监视器监视sql。或SQL Server Profiler->Tools->Performance Monitor,或在运行中输入"perfmon"

澳门新萄京官方网站 6

Page Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存的指定工作集中立即使用。

      服务端分为web服务器与数据库服务器。我首先查看了Web服务器:一个16核11G内存万转硬盘的怪物。 发现基本没有负载!!!CPU的使用率在1%以下!NB啊。然后去查看了数据库服务器,果真,问题出在这里!

2.重要的性能计数器

2.重要的性能计数器

下一步是查看哪个类别最糟糕。如果主色是蓝色或黄色代表读取或写入),那么你的服务器是磁盘输入/输出密集型的。下面是个示例:

Cache Bytes:文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如IIS5.0 运行内存不够时,它会自动整理缓存。需要关注该计数器的趋势变化

      由于是生产环境,sql server 是不能用D版滴。客户为了节约预算,将这个新系统的数据库与别的一些系统的数据库放到了一台机器上。结果我今天去看的时候,发现虽然内存与硬盘负载曲线都比较低且稳定,但CPU的负载却长期70%以上,有时达到100%的时间长达几秒钟!CUP成了整个系统最大的瓶颈!解决的方法很简单,我们找了另外一台现有的且负载较低的数据库服务器,将数据库移过去就行了!

(1). Processor

(1). Processor

澳门新萄京官方网站 7

如果您怀疑有内存泄露,请监视 MemoryAvailable Bytes 和 MemoryCommitted Bytes,以观察内存行为,并监视您认为可能在泄露内存的进程的 Process"Private Bytes、Process"Working Set 和Process"Handle Count。如果您怀疑是内核模式进程导致了泄露,则还应该监视 Memory"Pool Nonpaged Bytes、Memory" Pool Nonpaged Allocs 和 Process(process_name)" Pool Nonpaged Bytes。

      问题到这里并没有结束。为什么CUP的负载这么大?据我所知除了这个新系统的数据库,机子上就只有另外一个系统的数据库。且即使把这个新系统移走后,CPU的负载仍没有明显的改观,长期60%到80%,且这是下午了,根本不是系统最繁忙的时候。我在网上找了找资料,然后打开windows的性能监视器,并加入指定计数器进行观查,发现最大的问题在于数据库的整表扫描过多!网上说这个监控数最好不要超过2,但是这个系统长期100 到200 ,且动不动就死锁一下,难怪CPU的负载高,都去做这事了~~~

(2). PhysicalDisk

(2). PhysicalDisk

为什么是输入/输出密集型的?点击Physical R/W图表。问题可能出在工作负载上,比如说输入/输出操作次数太多: 

Pages per second :每秒钟检索的页数。该数字应少于每秒一页。

      

(3). Memory

(3). Memory

澳门新萄京官方网站 8

Process:
%Processor Time: 被处理器消耗的处理器时间数量。如果服务器专用于sql server,可接受的最大上限是80-85%
Page Faults/sec:将进程产生的页故障与系统产生的相比较,以判断这个进程对系统页故障产生的影响。

      以下是我总结的常见的sqlserver 性能计数器

(4). Network Interface

(4). Network Interface

非常频繁的输入/输出活动可能是糟糕的高速缓存命中率引起的。你可以点击Cache Hits高速缓存命中)按钮来证实:

Work set: 处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集。

      

(5). SQL Server Access Methods

(5). SQL Server Access Methods

澳门新萄京官方网站 9

Inetinfo:Private Bytes:此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。

 

(6). SQL Server: SQL Statistics

(6). SQL Server: SQL Statistics

注意:不要使用性能监视器PerfMon所报告的“Cache Hits Ratio”高速缓存命中率)。PerfMon报告的只是“医院里的平均温度”而已——它是对周末和繁忙时段、夜间索引碎片整理和白天操作求平均值,用的是不同的使用模式。

Processor:监视“处理器”和“系统”对象计数器可以提供关于处理器使用的有价值的信息,帮助您决定是否存在瓶颈。

指标描述

(7). SQL Server: Databases

(7). SQL Server: Databases

有时候,“高速缓存命中率”足够好,但是延迟很差。点击Seek Time寻道时间)按钮来证实:

%Processor Time:如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。

指标范围

(8). SQL Server General Statistics

(8). SQL Server General Statistics

 

%User Time:表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。

指标单位

(9). SQL Server Locks

(9). SQL Server Locks

澳门新萄京官方网站 10  

%Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max lazy writer IO"等措施都会降低该值。
此外,跟踪计算机的服务器工作队列当前长度的 Server Work Queues" Queue Length 计数器会显示出处理器瓶颈。队列长度持续大于 4 则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。

SQL Server中访问方法( Access Methods)

(10). SQL Server Buffer Manager

(10). SQL Server Buffer Manager

50毫秒ms)意味着,服务器每秒只能执行20次输入/输出操作。这样的速度仅仅相当于老式软盘!
有些服务器是处理器密集型的,下面是一台典型的处理器密集型服务器的模样:

% DPC Time:越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。

全表扫描 /秒 

下表对重要的性能计数器做一个简要的说明:            

下表对重要的性能计数器做一个简要的说明:            

澳门新萄京官方网站 11

Thread
ContextSwitches/sec: (实例化inetinfo 和dllhost 进程) 如果你决定要增加线程字节池的大小,你应该监视这三个计数器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。

( Full Scans/sec)  

性能计数器:

性能计数器:

一般来说,如果服务器是处理器密集型的,情况并不坏,只要绝对数值不是很高千万要牢记:Y轴表示服务器每秒使用所有处理器时的处理器毫秒,所以在4个处理器上,每秒使用处理器最多可以有4000毫秒。)但是如果处理使用率的绝对值很高,那么点击Query Stats查询统计数字)按钮。你会看到按处理器、读取和写入分类的前十大有问题的查询。这些查询很可能是需要优化的对象。

Physical Disk:
%Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000 的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。
Avg.Disk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。
Average Disk Read/Write Queue Length:指读取(写入)请求(列队)的平均数。
Disk Reads(Writes)/s: 物理磁盘上每秒钟磁盘读、写的次数。两者相加,应小于磁盘设备最大容量。

 

 

 

顺便说一下,你每天可以通过电子邮件来获得所有这些报告。只要在SQL Heartbeat中进行配置:点击工具栏中的Reports报告)按钮。

Average Disksec/Read: 指以秒计算的在此盘上读取数据的所需平均时间。

指 每秒全表扫描的数量。全表扫描可以是基本表扫描或全索引扫描。由于全表扫描需要耗费大量时间,因此全表扫描的频率过高的话,会影响性能。

 

 

...

Average Disk sec/Transfer:指以秒计算的在此盘上写入数据的所需平均时间。

如果该指标的值比 1或 2 高,应该分析设计的查询以确定是否确实需要全表扫描,以及 SQL 查询是否可以被优化。

Performance Object

Performance Object

Network Interface:
Bytes Total/sec :为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较

次数 /秒

Counter

Counter

SQLServer性能计数器:
Access Methods(访问方法) 用于监视访问数据库中的逻辑页的方法。

Page splits/sec

Description

Description

. Full Scans/sec(全表扫描/秒) 每秒不受限的完全扫描数。可以是基本表扫描或全索引扫描。如果这个计数器显示的值比1或2高,应该分析你的查询以确定是否确实需要全表扫描,以及S Q L查询是否可以被优化。
. Page splits/sec(页分割/秒)由于数据更新操作引起的每秒页分割的数量。

由于数据更新操作引起的每秒页分割的数量。

Processor

Processor

Buffer Manager(缓冲器管理器):监视 Microsoft® SQL Server? 如何使用: 内存存储数据页、内部数据结构和过程高速缓存;计数器在 SQL Server 从磁盘读取数据库页和将数据库页写入磁盘时监视物理 I/O。 监视 SQL Server 所使用的内存和计数器有助于确定: 是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。 是否可通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。
SQL Server 需要从磁盘读取数据的频率。与其它操作相比,例如内存访问,物理 I/O 会耗费大量时间。尽可能减少物理 I/O 可以提高查询性能。

 

%processor Time

%processor Time

.Page Reads/sec:每秒发出的物理数据库页读取数。这一统计信息显示的是在所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,使开销减到最小。

 

指处理器执行非闲置线程时间的百分比,测量处理器繁忙的时间 这个计数器设计成用来作为处理器活动的主要指示器,可以选择单个CPU实例,也可以选择Total

指处理器执行非闲置线程时间的百分比,测量处理器繁忙的时间 这个计数器设计成用来作为处理器活动的主要指示器,可以选择单个CPU实例,也可以选择Total

.Page Writes/sec (.写的页/秒) 每秒执行的物理数据库写的页数。

SQL Server中缓冲器管理器( Buffer Manager)

Interrupts/sec

Interrupts/sec

.Buffer Cache Hit Ratio. 在“缓冲池”(Buffer Cache/Buffer Pool)中没有被读过的页占整个缓冲池中所有页的比率。可在高速缓存中找到而不需要从磁盘中读取的页的百分比。这一比率是高速缓存命中总数除以自 SQL Server 实例启动后对高速缓存的查找总数。经过很长时间后,这一比率的变化很小。由于从高速缓存中读数据比从磁盘中读数据的开销要小得多,一般希望这一数值高一些。通常,可以通过增加 SQL Server 可用的内存数量来提高高速缓存命中率。计数器值依应用程序而定,但比率最好为90% 或更高。增加内存直到这一数值持续高于90%,表示90% 以上的数据请求可以从数据缓冲区中获得所需数据。
. Lazy Writes/sec(惰性写/秒)惰性写进程每秒写的缓冲区的数量。值最好为0。
Cache Manager(高速缓存管理器) 对象提供计数器,用于监视 Microsoft® SQL Server? 如何使用内存存储对象,如存储过程、特殊和准备好的 Transact-SQL 语句以及触发器。
. Cache Hit Ratio(高速缓存命中率,所有Cache”的命中率。在SQL Server中,Cache可以包括Log Cache,Buffer Cache以及Procedure Cache,是一个总体的比率。) 高速缓存命中次数和查找次数的比率。对于查看SQL Server高速缓存对于你的系统如何有效,这是一个非常好的计数器。如果这个值很低,持续低于80%,就需要增加更多的内存。
Latches(闩) 用于监视称为闩锁的内部 SQL Server 资源锁。监视闩锁以明确用户活动和资源使用情况,有助于查明性能瓶颈。

缓冲区高速缓存命中率 (Buffer Cache  

处理器正在处理的来自应用程序或硬件的中断的数量

处理器正在处理的来自应用程序或硬件的中断的数量

. Average Latch Wait Ti m e ( m s ) (平均闩等待时间(毫秒)) 一个SQL Server线程必须等待一个闩的平均时间,以毫秒为单位。如果这个值很高,你可能正经历严重的竞争问题。
. Latch Waits/sec (闩等待/秒) 在闩上每秒的等待数量。如果这个值很高,表明你正经历对资源的大量竞争。

Hit Ratio % )

 

 

Locks(锁) 提供有关个别资源类型上的 SQL Server 锁的信息。锁加在 SQL Server 资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。例如,如果一个排它 (X) 锁被一个事务加在某一表的某一行上,在这个锁被释放前,其它事务都不可以修改这一行。尽可能少使用锁可提高并发性,从而改善性能。可以同时监视 Locks 对象的多个实例,每个实例代表一个资源类型上的一个锁。

 

 

 

. Number of Deadlocks/sec(死锁的数量/秒) 导致死锁的锁请求的数量
. Average Wait Time(ms) (平均等待时间(毫秒)) 线程等待某种类型的锁的平均等待时间

指在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。该比率是缓存命中总次数与缓存查找总次数之比。经过很长时间后,该比率的变化很小。由于从缓存中读取数据比从磁盘中读取数据的开销小得多,一般希望该比率高一些。

 

 

. Lock Requests/sec(锁请求/秒) 每秒钟某种类型的锁请求的数量。

该指标的值最好为 90% 或更高。通常可以通过增加 SQL Server 可用的内存数量来提高该指标的值。增加内存直到这指标的值持续高于 90%,表示 90% 以上的数据请求可以从数据缓冲区中获得所需数据。

PhysicalDisk

PhysicalDisk

Memory manager:用于监视总体的服务器内存使用情况,以估计用户活动和资源使用,有助于查明性能瓶颈。监视 SQL Server 实例所使用的内存有助于确定:
是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。
是否可以通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。
Lock blocks:服务器上锁定块的数量,锁是在页、行或者表这样的资源上。不希望看到一个增长的值。

%

% Disk Time

% Disk Time

Total server memory:sql server服务器当前正在使用的动态内存总量.

读的页 /秒 

计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查 PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设 备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。

计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查 PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设 备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。

监视IIS需要的一些计数器

( Page Reads/sec)

可以使用 Current Disk Queue Length 和 % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:

可以使用 Current Disk Queue Length 和 % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:

Internet Information Services Global:
File Cache Hits %、File CacheFlushes、File Cache Hits
File Cache Hits %是全部缓存请求中缓存命中次数所占的比例,反映了IIS 的文件缓存设置的工作情况。对于一个大部分是静态网页组成的网站,该值应该保持在80%左右。而File Cache Hits是文件缓存命中的具体值,File CacheFlushes 是自服务器启动之后文件缓存刷新次数,如果刷新太慢,会浪费内存;如果刷新太快,缓存中的对象会太频繁的丢弃生成,起不到缓存的作用。通过比较File Cache Hits 和File Cache Flushes 可得出缓存命中率对缓存清空率的比率。通过观察它两个的值,可以得到一个适当的刷新值(参考IIS 的设置ObjectTTL 、MemCacheSize 、MaxCacheFileSize)
Web Service:
Bytes Total/sec:显示Web服务器发送和接受的总字节数。低数值表明该IIS正在以较低的速度进行数据传输。
Connection Refused:数值越低越好。高数值表明网络适配器或处理器存在瓶颈。

指每秒发出的物理数据库页读取数。该指标主要考察数据库从磁盘读取数据的频率。因为物理 I/O 会耗费大量时间,所以应尽可能地减少物理 I/O 以提高性能。 

1.使用速度更快的磁盘驱动器。

1.使用速度更快的磁盘驱动器。

Not Found Errors:显示由于被请求文件无法找到而无法由服务器满足的请求数(HTTP状态代码404)

该指标的值应尽可能的小。可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,以降低该指标的值。 

2.将某些文件移至其他磁盘或服务器。

2.将某些文件移至其他磁盘或服务器。

个数 /秒

3.如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。

3.如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。

写的页 /秒 

计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。
如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查 PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁
盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 
(RAID) 设备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。
可以使用 Current Disk Queue Length 和 % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:
1.使用速度更快的磁盘驱动器。
2.将某些文件移至其他磁盘或服务器。
3.如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。

计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。
如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查 PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁
盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 
(RAID) 设备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。
可以使用 Current Disk Queue Length 和 % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:
1.使用速度更快的磁盘驱动器。
2.将某些文件移至其他磁盘或服务器。
3.如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。

( Page Writes/sec)

Avg.Disk Queue Length

Avg.Disk Queue Length

指每秒执行的物理数据库写的页数。该指标主要考察数据库向磁盘写入数据的频率。因为物理 I/O 会耗费大量时间,所以应尽可能地减少物理 I/O 以提高性能。 

指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数

指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数

该指标的值应尽可能的小。可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,以降低该指标的值。 

Current Disk Queue Length

Current Disk Queue Length

个数 /秒

指示被挂起的磁盘 I/O 请求的数量。如果这个值始终高于 2, 就表示产生了拥塞

指示被挂起的磁盘 I/O 请求的数量。如果这个值始终高于 2, 就表示产生了拥塞

惰性写 /秒 

Avg.Disk Bytes/Transfer

Avg.Disk Bytes/Transfer

( Lazy Writes/sec)

写入或读取操作时向磁盘传送或从磁盘传出字节的平均数

写入或读取操作时向磁盘传送或从磁盘传出字节的平均数

指每秒被缓冲区管理器的惰性编写器写入的缓冲区数。惰性编写器是一个系统进程,用于成批刷新脏的老化的缓冲区(包含更改的缓冲区,必须将这些更改写回磁盘,才能将缓冲区重用于其他页),并使它们可用于用户进程。 

Disk Bytes/sec

Disk Bytes/sec

该指标的值 最好为 0。

在读写操作中,从磁盘传出或传送到磁盘的字节速率

在读写操作中,从磁盘传出或传送到磁盘的字节速率

个数 /秒

 

 

Cache Manager(高速缓存管理器)(Plan Cache)

 

 

高速缓存命中率(Cache Hit Ratio%)

 

 

指高速缓存命中次数和查找次数的比率。在SQL Server中,Cache包括Log Cache,Buffer Cache以及Procedure Cache,该指标是指所有Cache的命中率,是一个总体的比率。

Memory

Memory

该指标的值越高越好。如果该指标的值持续低于80%,就需要增加更多的内存。

Pages/sec

Pages/sec

 

被请求页面的数量.

被请求页面的数量.

SQL Server中闩(Latches)

Available Bytes

Available Bytes

平均闩等待

可用物理内存的数量

可用物理内存的数量

时间(毫秒)

Committed Bytes

Committed Bytes

(Average Latch

澳门新萄京官方网站,已分配给物理 RAM 用于存储或分配给页面文件的虚拟内存

已分配给物理 RAM 用于存储或分配给页面文件的虚拟内存

Wait Time(ms))

Pool Nonpaged Bytes

Pool Nonpaged Bytes

指一个SQL Server线程必须等待一个闩的平均时间。

未分页池系统内存区域中的 RAM 数量

未分页池系统内存区域中的 RAM 数量

如果该指标的值很高,则系统可能正经历严重的资源竞争问题。

Page Faults/sec

Page Faults/sec

毫秒

是每秒钟出错页面的平均数量

是每秒钟出错页面的平均数量

闩等待/秒

 

 

(Latch Waits/sec)

 

 

指在一个闩上每秒的平均等待数量。

 

 

如果该指标的值很高,则系统可能正经历严重的资源竞争问题。

Network Interface

Network Interface

个数/秒

Bytes Received/sec

Bytes Received/sec

General Statistics

使用本网络适配器接收的字节数

使用本网络适配器接收的字节数

user connections

Bytes Sent/sec

Bytes Sent/sec

指系统中活动的SQL连接数。该计数器的信息可以用于确定系统得最大并发用户数

使用本网络适配器发送的字节数

使用本网络适配器发送的字节数

 

Bytes Total/sec

Bytes Total/sec

个数

使用本网络适配器发送和接收的字节数

使用本网络适配器发送和接收的字节数

Locks

Server

Server

lock requests/sec

Bytes Received/sec

Bytes Received/sec

指每秒请求的锁个数。

把此计数器与网络适配器的总带宽相比较,确定网络连接是否产生瓶颈

把此计数器与网络适配器的总带宽相比较,确定网络连接是否产生瓶颈

通过优化查询来减少读取次数,可以减少该计数器的值。

 

 

个数/秒

 

 

 

 

 

lock timeouts/sec

SQL Server Access Methods

SQL Server Access Methods

指每秒由于等待对锁的授权的锁请求数,

Page Splits/sec

Page Splits/sec

理想情况下,该计数器的值为0

每秒由于索引页溢出而发生的页拆分数.如果发现页分裂的次数很多,考虑提高Index的填充因子.数据页将会有更多的空间保留用于做数据的填充,从而减少页拆分

每秒由于索引页溢出而发生的页拆分数.如果发现页分裂的次数很多,考虑提高Index的填充因子.数据页将会有更多的空间保留用于做数据的填充,从而减少页拆分

 

Pages Allocated/sec

Pages Allocated/sec

lock waits/sec

在此 SQL Server 实例的所有数据库中每秒分配的页数。这些页包括从混合区和统一区中分配的页

在此 SQL Server 实例的所有数据库中每秒分配的页数。这些页包括从混合区和统一区中分配的页

指每秒无法立刻得到授权而超时的锁请求数,

Full Scans/sec

Full Scans/sec

理想情况下,该计数器的值应该尽可能为0

每秒不受限制的完全扫描数. 这些扫描可以是基表扫描,也可以是全文索引扫描

每秒不受限制的完全扫描数. 这些扫描可以是基表扫描,也可以是全文索引扫描

 

 

 

Average Wait Time

 

 

线程等待某种类型的锁的平均等待时间

 

 

通过优化查询来减少读取次数,可以减少该计数器的值。

SQL Server: SQL Statistics

SQL Server: SQL Statistics

毫秒

Batch Requests/Sec

Batch Requests/Sec

number of deadlocks/sec

每秒收到的 Transact-SQL 命令批数。这一统计信息受所有约束(如 I/O、用户数、高速缓存大小、请求的复杂程度等)影响。
批处理请求数值高意味着吞吐量

每秒收到的 Transact-SQL 命令批数。这一统计信息受所有约束(如 I/O、用户数、高速缓存大小、请求的复杂程度等)影响。
批处理请求数值高意味着吞吐量

指每秒导致死锁的锁请求数。死锁对于应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器必须为0

SQL Compilations/Sec

SQL Compilations/Sec

锁加在SQL Server资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。应尽可能少使用锁以提高事务的并发性,从而改善性能。

每秒的编译数。表示编译代码路径被进入的次数。包括 SQL Server 中语句级重新编译导致的编译。当 SQL Server 用户活动稳定后,
该值将达到稳定状态

每秒的编译数。表示编译代码路径被进入的次数。包括 SQL Server 中语句级重新编译导致的编译。当 SQL Server 用户活动稳定后,
该值将达到稳定状态

个数/秒

Re-Compilations/Sec

Re-Compilations/Sec

Memory manager

每秒语句重新编译的次数。计算语句重新编译被触发的次数。一般来说,这个数最好较小,存储过程在理想情况下应该只编译一次,
然后执行计划被重复使用. 如果该计数器的值较高,或许需要换个方式编写存储过程,从而减少重编译的次数

每秒语句重新编译的次数。计算语句重新编译被触发的次数。一般来说,这个数最好较小,存储过程在理想情况下应该只编译一次,
然后执行计划被重复使用. 如果该计数器的值较高,或许需要换个方式编写存储过程,从而减少重编译的次数

memory grants pending

 

 

指每秒等待工作空间内存授权的进程数。该计数器应该尽可能接近0,否则预示可能存在着内存瓶颈

 

 

 

 

 

 

SQL Server: Databases

SQL Server: Databases

Lock blocks

Log Flushes/sec

Log Flushes/sec

服务器上锁定块的数量,锁是在页、行或者表这样的资源上。

每秒日志刷新数目

每秒日志刷新数目

不希望看到一个增长的值。

Active Transactions

Active Transactions

 

数据库的活动事务数

数据库的活动事务数

Total server memory

Backup/Restore Throughput/sec

Backup/Restore Throughput/sec

sql server服务器当前正在使用的动态内存总量.

每秒数据库的备份和还原操作的读取/写入吞吐量。例如,并行使用多个备份设备或使用更快的设备时,可以测量数据库备份操作性能的变化情况。
数据库的备份或还原操作的吞吐量可以确定备份和还原操作的进程和性能

每秒数据库的备份和还原操作的读取/写入吞吐量。例如,并行使用多个备份设备或使用更快的设备时,可以测量数据库备份操作性能的变化情况。
数据库的备份或还原操作的吞吐量可以确定备份和还原操作的进程和性能

 

 

 

 

 

 

SQL statistics

 

 

batch requests/sec

SQL Server General Statistics

SQL Server General Statistics

指每秒向服务器提交批的请求次数。

User Connections

User Connections

该计数器被用来确定系统的负载大小

系统中活动的SQL连接数. 该计数器的信息可以用于找出系统的最大并发用户数

系统中活动的SQL连接数. 该计数器的信息可以用于找出系统的最大并发用户数

 

Temp Tables Creation Rate

Temp Tables Creation Rate

SQL compilations/sec

每秒创建的临时表/表变量的数目

每秒创建的临时表/表变量的数目

指每秒编译数。

Temp Tables For Destruction

Temp Tables For Destruction

理想状态下该计数器的值应该低,如果batch requests/sec计数器的值非常接近该计数器,那么可能存在大量的特殊SQL调用

等待被清除系统线程破坏的临时表/表变量数

等待被清除系统线程破坏的临时表/表变量数

 

 

 

re- compilations/sec

 

 

指每秒的重新编译数。

 

 

该计数器的值越低越好。存储过程在理想情况下应该只编译一次,然后被他们的执行计划重复利用。如果该计数器的值较高,或许需要换个方式编写存储过程,从而减少重编译的次数

SQL Server Locks

SQL Server Locks

 

Number of Deadlocks/sec

Number of Deadlocks/sec

 

指每秒导致死锁的锁请求数. 死锁对于应用程序的可伸缩性非常有害, 并且会导致恶劣的用户体验. 该计数器必须为0

指每秒导致死锁的锁请求数. 死锁对于应用程序的可伸缩性非常有害, 并且会导致恶劣的用户体验. 该计数器必须为0

 

Average Wait Time (ms)

Average Wait Time (ms)

 

每个导致等待的锁请求的平均等待时间

每个导致等待的锁请求的平均等待时间

 

Lock requests/sec

Lock requests/sec

 

锁管理器每秒请求的新锁和锁转换数. 通过优化查询来减少读取次数, 可以减少该计数器的值

锁管理器每秒请求的新锁和锁转换数. 通过优化查询来减少读取次数, 可以减少该计数器的值

 

 

 

      最后,附上本文的相关资源:

 

 

      MS最大连接数补丁

 

 

      浏览器并发连接数

SQL Server:Memory Manager

SQL Server:Memory Manager

      一个测试并发速度的页面

Total Server Memory (KB)

Total Server Memory (KB)

      监视资源使用情况

从缓冲池提交的内存(这不是 SQL Server 使用的总内存)

从缓冲池提交的内存(这不是 SQL Server 使用的总内存)

      使用 SQL Server 对象 

Target Server Memory (KB)

Target Server Memory (KB)

      SQL Server性能计数器

服务器能够使用的动态内存总量

服务器能够使用的动态内存总量

      关系型数据库性能测试参考指标----SQL Server

SQL Cache Memory(KB)

SQL Cache Memory(KB)

      LoadRunner监视的性能计数器

服务器正在用于动态 SQL 高速缓存的动态内存总数

服务器正在用于动态 SQL 高速缓存的动态内存总数

Memory Grants Pending

Memory Grants Pending

指每秒等待工作空间内存授权的进程数. 该计数器应该尽可能接近0,否则预示可能存在着内存瓶颈

指每秒等待工作空间内存授权的进程数. 该计数器应该尽可能接近0,否则预示可能存在着内存瓶颈

 

 

 

 

 

 

SQL Server Buffer Manager

SQL Server Buffer Manager

Buffer Cache Hit Ratio

Buffer Cache Hit Ratio

缓存命中率,在缓冲区高速缓存中找到而不需要从磁盘中读取(物理I/O)的页的百分比. 如果该值较低则可能存在内存不足或不正确的索引

缓存命中率,在缓冲区高速缓存中找到而不需要从磁盘中读取(物理I/O)的页的百分比. 如果该值较低则可能存在内存不足或不正确的索引

Page Reads/sec

Page Reads/sec

每秒发出的物理数据库页读取数。此统计信息显示的是所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据缓存、智能索引、更有效的查询或更改数据库设计等方法,将开销降到最低

每秒发出的物理数据库页读取数。此统计信息显示的是所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据缓存、智能索引、更有效的查询或更改数据库设计等方法,将开销降到最低

Page Writes/sec

Page Writes/sec

每秒执行的物理数据库页写入数

每秒执行的物理数据库页写入数

Page Life Expectancy

Page Life Expectancy

页若不被引用将在缓冲池中停留的秒数

页若不被引用将在缓冲池中停留的秒数

Lazy Writes/Sec

Lazy Writes/Sec

每秒被缓冲区管理器的惰性编写器写入的缓冲区数

每秒被缓冲区管理器的惰性编写器写入的缓冲区数

Checkpoint Pages/Sec

Checkpoint Pages/Sec

由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数

由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数

 

 

 

 

 

 

提示:

提示:

 

 

当监视Windows Server或SQL Server以调查与性能有关的问题时,请首选关注一下硬件的三方面:

当监视Windows Server或SQL Server以调查与性能有关的问题时,请首选关注一下硬件的三方面:

(1) CPU(处理器使用率)

(1) CPU(处理器使用率)

(2) RAM(内存使用率)

(2) RAM(内存使用率)

(3) HDD(磁盘活动即IO)

(3) HDD(磁盘活动即IO)

3.建立监视

3.建立监视

下面要建立监视(我监视的HP Server配置为:Intel 4x4 x 3.0 GHz/RAM 16.0G,业务系统为OLTP).

下面要建立监视(我监视的HP Server配置为:Intel 4x4 x 3.0 GHz/RAM 16.0G,业务系统为OLTP).

(1) 在performance->Performance Logs and Alerts->New Log Setting...

(1) 在performance->Performance Logs and Alerts->New Log Setting...

(2) General Tab->Add Counters,添加需要监测的计数器(可参考如上的计数器列表)

(2) General Tab->Add Counters,添加需要监测的计数器(可参考如上的计数器列表)

(3) General Tab->Interval,设置监测的时间间隔(默认是15s)

(3) General Tab->Interval,设置监测的时间间隔(默认是15s)

(4) Log Files Tab->Log file type,选择Log File保存的方式(text File,Binary File,SQL Database),这里我选择text File(Tab delimited).

(4) Log Files Tab->Log file type,选择Log File保存的方式(text File,Binary File,SQL Database),这里我选择text File(Tab delimited).

(5) Schedule Tab,设置监测的开始时间及结束时间.

(5) Schedule Tab,设置监测的开始时间及结束时间.

4.分析(我做测试监测的时间段(2010/7/7 10:30-23:59))

4.分析(我做测试监测的时间段(2010/7/7 10:30-23:59))

在监测一段时间之后,你就会得到Server重要的性能计数器信息,接下来就可以分析Server的性能. 我是借助数据透视图来做的,看起来会比较直观.

在监测一段时间之后,你就会得到Server重要的性能计数器信息,接下来就可以分析Server的性能. 我是借助数据透视图来做的,看起来会比较直观.

4.1 CPU使用率.分析%Processor Time(_Total)(所用时间的百分比,横轴取时间,竖轴取%Processor Time)

4.1 CPU使用率.分析%Processor Time(_Total)(所用时间的百分比,横轴取时间,竖轴取%Processor Time)

如下图在2010/7/7 10:30-12:40和2010/7/7 16:44-18:48这两段时间内CPU的使用率很高基本上都在50%以上.尤其在17:00-17:12,17:53-18:00CPU很繁忙,在这段时间会有大量的事务需要处理(T-SQL查询,SP,后台job, User操作等等).

如下图在2010/7/7 10:30-12:40和2010/7/7 16:44-18:48这两段时间内CPU的使用率很高基本上都在50%以上.尤其在17:00-17:12,17:53-18:00CPU很繁忙,在这段时间会有大量的事务需要处理(T-SQL查询,SP,后台job, User操作等等).

如果CUP使用率一直居高不下(持续80%到90%的状态),就要考虑升级CPU, 增加更多的处理器或者系统调优(建议先做系统调优,升级硬件需要增加额外的成本).

如果CUP使用率一直居高不下(持续80%到90%的状态),就要考虑升级CPU, 增加更多的处理器或者系统调优(建议先做系统调优,升级硬件需要增加额外的成本).

澳门新萄京官方网站 12

澳门新萄京官方网站 13

澳门新萄京官方网站 14

澳门新萄京官方网站 15

4.2 磁盘I/O(%Disk Time,磁盘忙于读/写活动所用时间的百分比)

4.2 磁盘I/O(%Disk Time,磁盘忙于读/写活动所用时间的百分比)

监视磁盘活动涉及到两个主要方面:

监视磁盘活动涉及到两个主要方面:

(1)监视磁盘I/O及检测是否有过度换页

(1)监视磁盘I/O及检测是否有过度换页

(2)隔离SQL Server产生的磁盘活动

(2)隔离SQL Server产生的磁盘活动

从做的数据透视图来看,磁盘I/O的读写很清闲,只在11:58,15:00,18:00,23:45左右(图上没有截出来)会有较大的IO.

从做的数据透视图来看,磁盘I/O的读写很清闲,只在11:58,15:00,18:00,23:45左右(图上没有截出来)会有较大的IO.

如果磁盘I/O很高(>90%),则考虑更换快速磁盘(如固态硬盘等).

如果磁盘I/O很高(>90%),则考虑更换快速磁盘(如固态硬盘等).

澳门新萄京官方网站 16

澳门新萄京官方网站 17

请参考微软给出的解决方案:

请参考微软给出的解决方案:

监视磁盘 I/O 及检测过度换页

监视磁盘 I/O 及检测过度换页

可以对下面两个计数器进行监视以确定磁盘活动:

可以对下面两个计数器进行监视以确定磁盘活动:

  • PhysicalDisk: % Disk Time 
  • PhysicalDisk: Avg. Disk Queue Length 
  • PhysicalDisk: % Disk Time 
  • PhysicalDisk: Avg. Disk Queue Length 

在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。

在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。

可以使用 Current Disk Queue Length 和 % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:

可以使用 Current Disk Queue Length 和 % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:

  • 使用速度更快的磁盘驱动器。
  • 将某些文件移至其他磁盘或服务器。
  • 如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。
  • 使用速度更快的磁盘驱动器。
  • 将某些文件移至其他磁盘或服务器。
  • 如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。

如果使用 RAID 设备,% Disk Time 计数器会指示大于 100% 的值。如果出现这种情况,则使用 PhysicalDisk: Avg.Disk Queue Length 计数器来确定等待进行磁盘访问的平均系统请求数量。

如果使用 RAID 设备,% Disk Time 计数器会指示大于 100% 的值。如果出现这种情况,则使用 PhysicalDisk: Avg.Disk Queue Length 计数器来确定等待进行磁盘访问的平均系统请求数量。

I/O 依赖的应用程序或系统可能会使磁盘持续处于活动状态。

I/O 依赖的应用程序或系统可能会使磁盘持续处于活动状态。

监视 Memory: Page Faults/sec 计数器可以确保磁盘活动不是由分页导致的。在 Windows 中,换页的原因包括:

监视 Memory: Page Faults/sec 计数器可以确保磁盘活动不是由分页导致的。在 Windows 中,换页的原因包括:

  • 配置进程占用了过多内存。
  • 文件系统活动。
  • 配置进程占用了过多内存。
  • 文件系统活动。

如果在同一硬盘上有多个逻辑分区,请使用 Logical Disk 计数器而非 Physical Disk 计数器。查看逻辑磁盘计数器有助于确定哪些文件被频繁访问。当发现磁盘有大量读/写活动时,请查看读写专用计数器以确定导致每个逻辑卷负荷增加的磁盘活动类型,例如,Logical Disk: Disk Write Bytes/sec。

如果在同一硬盘上有多个逻辑分区,请使用 Logical Disk 计数器而非 Physical Disk 计数器。查看逻辑磁盘计数器有助于确定哪些文件被频繁访问。当发现磁盘有大量读/写活动时,请查看读写专用计数器以确定导致每个逻辑卷负荷增加的磁盘活动类型,例如,Logical Disk: Disk Write Bytes/sec。

隔离 SQL Server 产生的磁盘活动

隔离 SQL Server 产生的磁盘活动

可以进行监视以确定由 SQL Server 组件生成的 I/O 活动量的两个计数器为:

可以进行监视以确定由 SQL Server 组件生成的 I/O 活动量的两个计数器为:

  • SQL Server:Buffer Manager:Page reads/sec 
  • SQL Server:Buffer Manager:Page writes/sec 
  • SQL Server:Buffer Manager:Page reads/sec 
  • SQL Server:Buffer Manager:Page writes/sec 

在系统监视器中,这些计数器通过检查以下操作的性能监视由 SQL Server 组件生成的 I/O 活动量。

在系统监视器中,这些计数器通过检查以下操作的性能监视由 SQL Server 组件生成的 I/O 活动量。

  • 向磁盘写入页
  • 从磁盘读取页
  • 向磁盘写入页
  • 从磁盘读取页

如果这些计数器的值达到硬件 I/O 子系统的容量限制,则需要减小这些值,方法是调整应用程序或数据库以减少 I/O 操作(如索引覆盖、索引优化或规范化),增加硬件的 I/O 容量或添加内存

如果这些计数器的值达到硬件 I/O 子系统的容量限制,则需要减小这些值,方法是调整应用程序或数据库以减少 I/O 操作(如索引覆盖、索引优化或规范化),增加硬件的 I/O 容量或添加内存

4.3 缓存命中率(Buffer Cache Hit Ratio)

4.3 缓存命中率(Buffer Cache Hit Ratio)

根据检测的数据来看,缓存命中率基本上在99.99%-100%之间,表示数据缓存几乎满足所有的数据请求.

根据检测的数据来看,缓存命中率基本上在99.99%-100%之间,表示数据缓存几乎满足所有的数据请求.

4.4 页拆分(Page Splits/sec,每秒由于索引页益处而发生的页拆分数)

4.4 页拆分(Page Splits/sec,每秒由于索引页益处而发生的页拆分数)

如果页拆分很频繁,可以考虑增加填充因子(我设置的Index fill factor为85,也就是每个页会留有15%的空间做数据填充).

如果页拆分很频繁,可以考虑增加填充因子(我设置的Index fill factor为85,也就是每个页会留有15%的空间做数据填充).

从我做的检测来看,只有在很少的时间段内会有较大的页拆分,此时可能会有大量的数据事务操作.总体来看性能还好.

从我做的检测来看,只有在很少的时间段内会有较大的页拆分,此时可能会有大量的数据事务操作.总体来看性能还好.

澳门新萄京官方网站 18

澳门新萄京官方网站 19

4.5 每秒日志刷新数目(Log Flushes/sec)

4.5 每秒日志刷新数目(Log Flushes/sec)

日志刷新发生在当transaction提交, 数据从日志缓存写入磁盘日志文件时. 应该尽可能的减少日志刷新.

日志刷新发生在当transaction提交, 数据从日志缓存写入磁盘日志文件时. 应该尽可能的减少日志刷新.

如果检测到数值一直很高的话,说明transaction非常活跃,就要减少transaction数.

如果检测到数值一直很高的话,说明transaction非常活跃,就要减少transaction数.

这里有一个简单的示例来说明:

这里有一个简单的示例来说明:

比如说要向Table中Insert 1w条数据

比如说要向Table中Insert 1w条数据

做法1: 一条一条的Insert,一个transaction一条. 会产生1w个log flushes

做法1: 一条一条的Insert,一个transaction一条. 会产生1w个log flushes

做法2: 1w条数据在一个transaction Insert.只产生1个log flushes

做法2: 1w条数据在一个transaction Insert.只产生1个log flushes

明显的第二种产生的日志刷新会大大减少,相应的磁盘I/O也大大减少.从而有助于提高性能.

明显的第二种产生的日志刷新会大大减少,相应的磁盘I/O也大大减少.从而有助于提高性能.

澳门新萄京官方网站 20

澳门新萄京官方网站 21

总结:

总结:

(1). 还有很多的日志记录没有做一一的简单分析.

(1). 还有很多的日志记录没有做一一的简单分析.

(2). Performance Monitor只是提供一个方法来帮助发现问题,提供一个性能优化的方向. 一旦影响性能的问题找到了,就可以从这个方向来着手处理.

(2). Performance Monitor只是提供一个方法来帮助发现问题,提供一个性能优化的方向. 一旦影响性能的问题找到了,就可以从这个方向来着手处理.

(3). 网上有很多性能检测的工具,大抵应该是把如上所做的工作封装起来,并且UI上面已经分析好,更加的直观.

(3). 网上有很多性能检测的工具,大抵应该是把如上所做的工作封装起来,并且UI上面已经分析好,更加的直观.

本文由澳门新萄京官方网站发布于服务器运维,转载请注明出处:澳门新萄京官方网站:学习笔记,改进ie最大连接

关键词: