Heim Datenbank MySQL-Tutorial 如何识别SQL Server中的IO瓶颈

如何识别SQL Server中的IO瓶颈

Jun 07, 2016 pm 04:17 PM
server 如何 瓶颈 识别

问题: 我们可能经常会遇到SQLServer数据库频繁关闭的情况。在分析了内存和CPU使用情况后,我们需要继续调查根源是否在I/O.我们应该如何识别SQLServer是否有I/O相关的瓶颈? 解决: 当数据页经常从缓冲池中移进移出的时候,I/O子系统就会成为SQLServer性能问

  问题:

  我们可能经常会遇到SQLServer数据库频繁关闭的情况。在分析了内存和CPU使用情况后,我们需要继续调查根源是否在I/O.我们应该如何识别SQLServer是否有I/O相关的瓶颈?

  解决:

  当数据页经常从缓冲池中移进移出的时候,I/O子系统就会成为SQLServer性能问题的关键因素之一。事务日志和tempdb同样也会产生重大的I/O压力。因此,你必须确保你的I/O子系统能按照预期运行。否则你将会成为响应时间增长和频繁超时的受害者。在这篇文章中,将描述如何使用内置工具识别I/O相关瓶颈,并提供一些磁盘配置的方法:

  性能计数器(Performance Monitor):

  可以使用性能计数器来检查I/O子系统的负荷。下面的计数器可用于检查磁盘性能:

  PhysicalDisk Object:Avg.DiskQueue Length:计算从物理磁盘中的平均读和写的请求队列。过高的值代表磁盘操作处于等待状态。当这个值在SQLServer峰值时长期超过2,证明需要注意了。如果有多个硬盘,就需要把这些数值除以2.比如,有4个硬盘,且队列为10,那么平均值就是10/4=2.5,虽然也证明需要关注,但不能使用10这个值。

  Avg.Disk Sec/Read和Avg.Disk Sec/Write:显示从磁盘读或者写入磁盘的平均时间。10ms内是很好的表现,20以下还算能接受。高于此值证明存在问题。

  Physical Disk:%Disk Time:在磁盘忙于读或者写请求的时候持续时间的比率。根据拇指定律,此值应该小于50%.

  Disk Reads/Sec和Disk Writes/Sec计数器显示出在磁盘中读写操作的速率。这两个值应该小于磁盘能力的85%.当超过此值,,磁盘的访问时间将以指数方式增长。

  可以通过以下方式来计算逐渐增长的负载的能力。一种方法是使用SQLIO.你应该找到吞吐量比较稳定,但缓慢增长。

  可以使用以下公式来计算RAID配置:

  Raid 0: I/O per disk = (reads + writes) / number ofdisks

  Raid 1: I/O per disk = [reads + (writes*2)] / 2

  Raid 5: I/O per disk = [reads + (writes*4)] / number of disks

  Raid 10: I/O per disk = [reads + (writes*2)] / number of disks

  比如:对于RAID 1,如果得到下面的计数器:

  Disk Reads/sec = 90

  Disk Writes/sec =75

  根据公式:[reads + (writes*2)] / 2 or [90 + (75*2)] / 2 = 120I/Os每个磁盘。

  动态管理视图(DMVs):

  有很多游泳的DMVs可以用于检查I/O瓶颈:

  当一个页面被用于读或者写访问且页面在缓冲池中不存在或不可用时,会引发一个I/O闩锁等待(I/O latch),它会在PAGEIOLATCH_EX/PAGEIOLATCH_SH(具体根据请求类型而定)。这些等待表明一个I/O瓶颈。可以使用sys.dm_os_wait_stats找到闩锁等待的信息。如果你保存了SQLServer正常运行下的waiting_task_counts和wait_time_ms值,并且于此次的值做对比,可以识别出I/O问题:

  select *

  fromsys.dm_os_wait_stats

  where wait_type like'PAGEIOLATCH%'

  order by wait_typeasc

  挂起的I/O请求可以在下面查询中查到,并且用于识别那个磁盘负责的这个瓶颈:

  select database_id,

  file_id,

  io_stall,

  io_pending_ms_ticks,

  scheduler_address

  from sys.dm_io_virtual_file_stats(NULL, NULL) iovfs,

  sys.dm_io_pending_io_requests as iopior

  where iovfs.file_handle = iopior.io_handle

  磁盘碎片(Disk Fragmentation):

  建议你检查磁盘碎片和配置用于SQLServer实例的磁盘。在NTFS文件系统中的碎片会产生严重的性能影响。磁盘需要经常整理碎片并且指定整理碎片计划。研究表明,一些情况下SAN在整理碎片后性能更差。因此,SAN必须根据实际情况对待。

  NTFS上的索引碎片同样能引起高I/O好用。但是这和在SANs中的效果是不一样的。

  磁盘配置/最佳实践:

  常规情况,你应该把日志文件和数据文件分开存放以获得更好的性能。对于重负载的数据文件(包括tempdb)的I/O特性是随机读取。对于日志文件,是顺序访问的,除非事务需要回滚。

  对于内置磁盘仅仅可以用于数据库日志文件,因为它们对顺序I/O有很好的性能,但是对随机I/O性能低下。

  数据库的数据和日志文件应该放在对应专用的磁盘中。确保良好的性能。建议日志文件放在两个内置磁盘,并配置为RAID 1.数据文件驻留在仅用于给SQLServer访问的SAN系统中,并只被查询和报表控制。特殊访问应该被禁止。

  写缓冲在可能的情况下应该被允许,并保证断电也能使用。

  为了尽可能保证对于OLTP系统的I/O瓶颈影响最小化,不应该把OLAP和OLTP环境混合。并且保证你的代码优化及有合适的索引来避免不必要的I/O.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Anleitung zum Installieren, Deinstallieren und Zurücksetzen des Windows-Server-Backups Anleitung zum Installieren, Deinstallieren und Zurücksetzen des Windows-Server-Backups Mar 06, 2024 am 10:37 AM

WindowsServerBackup ist eine Funktion des WindowsServer-Betriebssystems, die Benutzern dabei helfen soll, wichtige Daten und Systemkonfigurationen zu schützen und vollständige Sicherungs- und Wiederherstellungslösungen für kleine, mittlere und große Unternehmen bereitzustellen. Nur Benutzer, die Server2022 und höher ausführen, können diese Funktion nutzen. In diesem Artikel erklären wir, wie Sie WindowsServerBackup installieren, deinstallieren oder zurücksetzen. So setzen Sie die Windows Server-Sicherung zurück: Wenn Sie Probleme mit der Sicherung Ihres Servers haben, die Sicherung zu lange dauert oder Sie nicht auf gespeicherte Dateien zugreifen können, können Sie die Sicherungseinstellungen Ihres Windows Servers zurücksetzen. Um Windows zurückzusetzen

Wie implementiert man Spracherkennung und Sprachsynthese in C++? Wie implementiert man Spracherkennung und Sprachsynthese in C++? Aug 26, 2023 pm 02:49 PM

Wie implementiert man Spracherkennung und Sprachsynthese in C++? Spracherkennung und Sprachsynthese gehören heute zu den beliebten Forschungsrichtungen im Bereich der künstlichen Intelligenz und spielen in vielen Anwendungsszenarien eine wichtige Rolle. In diesem Artikel wird erläutert, wie Sie mithilfe von C++ Spracherkennungs- und Sprachsynthesefunktionen basierend auf der offenen Plattform Baidu AI implementieren und relevante Codebeispiele bereitstellen. 1. Spracherkennung Spracherkennung ist eine Technologie, die menschliche Sprache in Text umwandelt. Sie wird häufig in Sprachassistenten, Smart Homes, autonomem Fahren und anderen Bereichen eingesetzt. Das Folgende ist die Implementierung der Spracherkennung mit C++

Mithilfe von Java implementierte Gesichtserkennungs- und -erkennungstechnologie Mithilfe von Java implementierte Gesichtserkennungs- und -erkennungstechnologie Jun 18, 2023 am 09:08 AM

Mit der kontinuierlichen Weiterentwicklung der Technologie der künstlichen Intelligenz wird die Technologie zur Gesichtserkennung und -erkennung im täglichen Leben immer häufiger eingesetzt. Gesichtserkennungs- und -erkennungstechnologien werden häufig in verschiedenen Fällen eingesetzt, beispielsweise in Systemen zur Gesichtszugriffskontrolle, Gesichtszahlungssystemen, Gesichtssuchmaschinen usw. Als weit verbreitete Programmiersprache kann Java auch Technologien zur Gesichtserkennung und -erkennung implementieren. In diesem Artikel wird erläutert, wie Sie mithilfe von Java die Technologie zur Gesichtserkennung und -erkennung implementieren. 1. Gesichtserkennungstechnologie Unter Gesichtserkennungstechnologie versteht man die Technologie, die Gesichter in Bildern oder Videos erkennt. in J

Ein Artikel über das Verkehrszeichenerkennungssystem beim autonomen Fahren Ein Artikel über das Verkehrszeichenerkennungssystem beim autonomen Fahren Apr 12, 2023 pm 12:34 PM

Was ist ein Verkehrszeichenerkennungssystem? Das Verkehrszeichenerkennungssystem des Autosicherheitssystems, dessen englische Übersetzung: Traffic Sign Recognition, kurz TSR, lautet, verwendet eine nach vorne gerichtete Kamera in Kombination mit einem Modus zur Erkennung gängiger Verkehrszeichen (Geschwindigkeitsbegrenzung, Parken, Kehrtwende, usw.). Diese Funktion macht den Fahrer auf vorausliegende Verkehrszeichen aufmerksam, damit er diese befolgen kann. Die TSR-Funktion verbessert die Sicherheit, indem sie die Wahrscheinlichkeit verringert, dass Fahrer Verkehrsregeln wie Stoppschilder nicht befolgen und illegales Linksabbiegen oder andere unbeabsichtigte Verkehrsverstöße vermeiden. Diese Systeme erfordern flexible Softwareplattformen zur Verbesserung der Erkennungsalgorithmen und zur Anpassung an Verkehrszeichen in verschiedenen Bereichen. Prinzip der Verkehrszeichenerkennung Die Verkehrszeichenerkennung wird auch TS genannt

Win10 erkennt die Lösung dafür, dass keine Verbindung zum Internet hergestellt werden kann Win10 erkennt die Lösung dafür, dass keine Verbindung zum Internet hergestellt werden kann Jul 11, 2023 pm 06:21 PM

Wenn Sie einen Win10-Computer verwenden, sind Sie schon einmal auf die Situation gestoßen, dass Sie keine Verbindung zum Internet herstellen konnten? Wenn Sie nicht wissen, wie Sie dieses Problem lösen können, schauen wir uns diesen Artikel an. 1. Öffnen Sie mit der Tastenkombination „Win+I“ das Einstellungsfenster und klicken Sie, um „Netzwerk und Internet“ auszuwählen. 2. Klicken Sie auf der linken Seite des Fensters „Netzwerk und INTERNET“ auf „Ethernet“ und dann im rechten Fenster auf „Adapteroptionen ändern“. 3. Klicken Sie im Fenster „Netzwerkverbindung“ mit der rechten Maustaste auf „Ethernet (Desktop, bitte behandeln Sie mobile Geräte entsprechend)“ und klicken Sie im Menü auf „Deaktivieren“. 4. Nachdem es als deaktiviert angezeigt wird, klicken Sie mit der rechten Maustaste auf die Ethernet-Maus und führen Sie den Aktivierungsbefehl aus. Sobald Ethernet aktiviert ist, sollte das Problem behoben sein. Hier finden Sie eine Einführung in die sofortige Erkennung von Netzwerkfehlern unter Win10 ohne

Vorschauversion von Windows Server 2025 begrüßt Update, Microsoft verbessert Insiders-Testerlebnis Vorschauversion von Windows Server 2025 begrüßt Update, Microsoft verbessert Insiders-Testerlebnis Feb 19, 2024 pm 02:36 PM

Anlässlich der Veröffentlichung der Build 26040-Version von Windows Server gab Microsoft den offiziellen Namen des Produkts bekannt: Windows Server 2025. Außerdem wurde die Windows11WindowsInsiderCanaryChannel-Version build26040 eingeführt. Einige Freunde erinnern sich vielleicht noch daran, dass vor vielen Jahren jemand Windows NT erfolgreich vom Workstation-Modus in den Server-Modus umgestellt hat und dabei die Gemeinsamkeiten verschiedener Versionen von Microsoft-Betriebssystemen aufgezeigt hat. Zwar gibt es deutliche Unterschiede zwischen Microsofts aktueller Version des Server-Betriebssystems und Windows 11, doch wer auf die Details achtet, dürfte neugierig sein: Warum Windows Server die Marke aktualisiert hat,

So ändern Sie den Nginx-Versionsnamen, um jeden Webserver zu verschleiern So ändern Sie den Nginx-Versionsnamen, um jeden Webserver zu verschleiern May 14, 2023 pm 09:19 PM

So ändern Sie den Standardnamen von Nginx: Sie können ihn ein wenig verschleiern oder installieren Tipp: Im Allgemeinen werden Änderungen vorgenommen, bevor Nginx kompiliert wird. Nach der Änderung muss der Code wie folgt neu kompiliert werden: scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n

Gibt es eine Zukunft für eine Beschäftigung in der klinischen Pharmazie an der Harbin Medical University? (Wie sind die Beschäftigungsaussichten für die klinische Pharmazie an der Harbin Medical University?) Gibt es eine Zukunft für eine Beschäftigung in der klinischen Pharmazie an der Harbin Medical University? (Wie sind die Beschäftigungsaussichten für die klinische Pharmazie an der Harbin Medical University?) Jan 02, 2024 pm 08:54 PM

Wie sind die Beschäftigungsaussichten der klinischen Pharmazie an der Harbin Medical University? Obwohl die Beschäftigungssituation im Land nicht optimistisch ist, haben Absolventen der Pharmazie immer noch gute Beschäftigungsaussichten. Insgesamt ist das Angebot an Pharmaabsolventen geringer als die Nachfrage. Pharmaunternehmen und Pharmafabriken sind die Hauptkanäle für die Aufnahme solcher Absolventen. Auch die Nachfrage nach Talenten in der Pharmaindustrie wächst stetig. Berichten zufolge hat das Angebot-Nachfrage-Verhältnis für Doktoranden in den Hauptfächern Pharmazeutische Präparate und Naturmedizinische Chemie in den letzten Jahren sogar 1:10 erreicht. Beschäftigungsrichtung des Hauptfachs „Klinische Pharmazie“: Nach dem Abschluss können Studierende des Hauptfachs „Klinische Medizin“ in medizinischen und Gesundheitsabteilungen, in der medizinischen Forschung und anderen Abteilungen in der medizinischen Behandlung, Prävention, medizinischen Forschung usw. tätig werden. Beschäftigungspositionen: Medizinischer Vertreter, Pharma-Vertriebsmitarbeiter, Vertriebsmitarbeiter, Vertriebsleiter, Regionaler Vertriebsleiter, Investmentmanager, Produktmanager, Produktspezialist, Krankenpfleger

See all articles