Heim Datenbank MySQL-Tutorial 2年SQL Server DBA调优方面总结

2年SQL Server DBA调优方面总结

Jun 07, 2016 pm 05:44 PM
server 总结 调优

公告 2年SQL Server DBA调优方面总结 2年SQL Server DBA调优方面总结 当2年dba 我觉得,有些东西需要和大家分享探讨,先书单。 书单 1.《深入解析SQL Server 2008 系列》 这个就是mssql 2005 的技术内幕系列。2012版的也出了有兴趣可以看看,技术内幕系列是

公告

2年SQL Server DBA调优方面总结

2年SQL Server DBA调优方面总结

当2年dba 我觉得,有些东西需要和大家分享探讨,先书单。

书单

1.《深入解析SQL Server 2008 系列》 这个就是mssql 2005 的技术内幕系列。2012版的也出了有兴趣可以看看,技术内幕系列是我接触最早的书,里面内容涵盖量很大,但是都是点到为止。所以很多都是可以细细品味,回头再看的。

2.《Troubleshooting SQL Server A Guide for the Accidental DBA》 这本书是我接触最早的关于性能调优的书。链接已经给出可以去下载,不过需要注册SQLServerCenter ,这个网站是SQL Server 方面比较出名的网站。很多国外大牛。

3.《联机文档》也就是sql server 装机后自带的帮助文档,内容全面的吓人,几乎包含了技术内幕系列的所有内容。

4.《The.Gurus.Guide.To.SQL.Server.Architecture.And.Internals》这本书是将sql server 2000的内核,从软件开发的角度来看SQL Server 2000,很深入作者也十分的出名,可惜死的太早。对sql server框架理解主要来源于这本书,可惜没有中文版。

5.《SQL Server 2008 内核剖析和故障排除》接触的第二本关于性能调优的书,真本书比较绝的地方时,先将原理再讲调优。全书分为2部分第一部分就是原理,第二部分是性能调优。也是不错的一本,书中对扩展事件的功能做了比较详细的解释。我在其他书上是没看到过的。

该书的2012英文原版已经出了。

6.《Microsoft SQL Server企业级平台管理实践》是一本少见的国产好书,书的编写很符合中国人心理,直指问题本身,很适合当工具书。其中有关于性能跟踪调整,从捕获到处理讲的很实际。

7.《SQLSERVER求生秘籍》和《The.Gurus.Guide.To.SQL.Server.Architecture.And.Internals》是同一个作者,这本书主要是针对SQL Server 2005和上一本一样对个别点讲的很深入,缺点讲到的东西太少。

8.《SQL Server 2008查询性能调优》这本书比较实用的一本书,讲了各个瓶颈的发现,性能基线的简历,从查询,存储过程角度出发,分析性能,讲解可能出现性能问题的点。

9.《Pro SQL Server 2008 Service Broker》 讲解关于Service Broker,异步消息处理程序,很多比较大的公司会使用,我知道的是新蛋是使用这个的,全书围绕一个大例子比较清晰,容易接受。

10.《Pro SQL Server 2008 Policy-Based Management》关于策略管理方面的知识,个人觉得比较鸡肋。

 

安全性

楼主是小公司的DBA所以关于安全性使用的比较少,就管理一些权限和密码

可用性

到SQL Server 2012实现了多种可用性方案,1.日志传送,2.数据库复制,3.数据库镜像,4.alwaysonline。

1.日志传送,楼主觉得是数据库镜像的雏形。没有数据库镜像那样试试的传送和redo日志

2.数据库复制,数据库复制有比较多的分类:快照,事务,合并。事务复制是被应用最广的,从sql server 2000到sql server 2005事务复制被改进了很对具体可以看联机文档。

3.数据库镜像,我对于不需要读写分离的数据库中,数据库镜像是被应用最广的可用性方案,数据库镜像和其他的比最突出的优点是切换方便。

高性能

DBA的大头应该是性能调优。性能的调优大头是索引,最求更高的性能索引是必不可少的。一个性能主要体现的执行时间上,执行时间= 运行时间+等待时间。这个公式我觉得很经典。当你没有头绪的时候能帮你梳理清楚应该怎么排查问题。做性能调优一定要对性能的指标十分熟悉。

 

性能基线

当你刚刚入职一家公司,对公司数据库现在的负载一无所知,那么一开始要做的事情就是创建一个数据库性能基线。有人会问基线能用来干什么,很多人感觉没用,我刚入职时我也觉得没用。但是性能基线是一个性能调优,监控的开始。

 

一般比较正规的公司,一个业务上线前会通过压力测试预计这个服务器的性能边境在哪里,到达性能边境之后各个性能指标的表现是如何的。如果如果性能基线接近了性能边界,到了这个时候,那么就要考虑换服务器或者加服务器了。这个是性能基线的一个用处。

 

拿到一个服务器我先会做一下性能基线,网站空间,性能基线也就是服务器在正常运转的时候数据库的性能指标的表现。我会抓取24小时的性能指标作为性能基线(可以看我相关的文章:SQL Server 性能基线和监控,SQL Server 性能调优(性能基线))。

 

以下是我使用的抓取的指标

cpu:

    \Processor(_Total)\% Processor Time
    \Processor(_Total)\% Privileged Time

    \SQLServer:SQL Statistics\Batch Requests/sec
    \SQLServer:SQL Statistics\SQL Compilations/sec
    \SQLServer:SQL Statistics\SQL Re-Compilations/sec
    \System\Processor Queue Length
    \System\Context Switches/sec

  Memory:

    \Memory\Available Bytes
    \Memory\Pages/sec
    \Memory\Page Faults/sec
    \Memory\Pages Input/sec
    \Memory\Pages Output/sec
    \Process(sqlservr)\Private Bytes
    \SQLServer:Buffer Manager\Buffer cache hit ratio
    \SQLServer:Buffer Manager\Page life expectancy
    \SQLServer:Buffer Manager\Lazy writes/sec
    \SQLServer:Memory Manager\Memory Grants Pending
    \SQLServer:Memory Manager\Target Server Memory (KB)
    \SQLServer:Memory Manager\Total Server Memory (KB)

  Disk:

    \PhysicalDisk(_Total)\% Disk Time
    \PhysicalDisk(_Total)\Current Disk Queue Length
    \PhysicalDisk(_Total)\Avg. Disk Queue Length
    \PhysicalDisk(_Total)\Disk Transfers/sec
    \PhysicalDisk(_Total)\Disk Bytes/sec
    \PhysicalDisk(_Total)\Avg. Disk sec/Read
    \PhysicalDisk(_Total)\Avg. Disk sec/Write

  SQL Server:

    \SQLServer:Access Methods\FreeSpace Scans/sec
    \SQLServer:Access Methods\Full Scans/sec
    \SQLServer:Access Methods\Table Lock Escalations/sec
    \SQLServer:Access Methods\Worktables Created/sec
    \SQLServer:General Statistics\Processes blocked
    \SQLServer:General Statistics\User Connections
    \SQLServer:Latches\Total Latch Wait Time (ms)
    \SQLServer:Locks(_Total)\Lock Timeouts (timeout > 0)/sec
    \SQLServer:Locks(_Total)\Lock Wait Time (ms)
    \SQLServer:Locks(_Total)\Number of Deadlocks/sec
    \SQLServer:SQL Statistics\Batch Requests/sec
    \SQLServer:SQL Statistics\SQL Re-Compilations/sec

指标代表啥意思我就不解释了,美国服务器,你可以开perfmon,挨个看说明。

假设你现在已经有了性能指标了,那么你就可以根据性能基线简历告警了,以前的文章(SQL Server 性能基线和监控)中我已经提供了使用powershell如何监控性能。

 

性能运行性能问题分析:

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 尊渡假赌尊渡假赌尊渡假赌

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)

So nutzen Sie php-fpm für Hochleistungs-Tuning So nutzen Sie php-fpm für Hochleistungs-Tuning Jul 08, 2023 am 11:30 AM

So verwenden Sie php-fpm zur Hochleistungsoptimierung PHP ist eine sehr beliebte serverseitige Skriptsprache, die häufig zur Entwicklung von Webanwendungen und dynamischen Websites verwendet wird. Wenn jedoch der Datenverkehr zunimmt, kann die Leistung Ihrer PHP-Anwendung leiden. Um dieses Problem zu lösen, können wir php-fpm (FastCGIProcessManager) für eine Hochleistungsoptimierung verwenden. In diesem Artikel wird erläutert, wie Sie mit PHP-FPM die Leistung von PHP-Anwendungen verbessern und Codebeispiele bereitstellen. eins,

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

Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen Feb 23, 2024 pm 06:45 PM

Zusammenfassung der Funktion system() unter Linux Im Linux-System ist die Funktion system() eine sehr häufig verwendete Funktion, mit der Befehlszeilenbefehle ausgeführt werden können. In diesem Artikel wird die Funktion system() ausführlich vorgestellt und einige spezifische Codebeispiele bereitgestellt. 1. Grundlegende Verwendung der Funktion system() Die Deklaration der Funktion system() lautet wie folgt: intsystem(constchar*command);

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,

Zusammenfassung der Hyperparameteroptimierung für maschinelles Lernen (PySpark ML) Zusammenfassung der Hyperparameteroptimierung für maschinelles Lernen (PySpark ML) Apr 08, 2023 pm 07:21 PM

Eine wichtige Aufgabe im ML ist die Modellauswahl oder die Verwendung von Daten, um das beste Modell oder die besten Parameter für eine bestimmte Aufgabe zu finden. Man nennt das auch Tuning. Sie können einen einzelnen Schätzer wie LogisticRegression oder eine gesamte Pipeline optimieren, die mehrere Algorithmen, Charakterisierungen und andere Schritte umfasst. Benutzer können die gesamte Pipeline auf einmal optimieren, anstatt jedes Element in der Pipeline einzeln zu optimieren. Eine wichtige Aufgabe im ML ist die Modellauswahl oder die Verwendung von Daten, um das beste Modell oder die besten Parameter für eine bestimmte Aufgabe zu finden. Man nennt das auch Tuning. Ein einzelner Schätzer (z. B. LogisticRegression) kann optimiert werden, oder

Innovativer Weg zur Feinabstimmung von LLM: umfassende Interpretation der Innovationskraft und des Anwendungswerts der nativen Bibliothek Torchtune von PyTorch Innovativer Weg zur Feinabstimmung von LLM: umfassende Interpretation der Innovationskraft und des Anwendungswerts der nativen Bibliothek Torchtune von PyTorch Apr 26, 2024 am 09:20 AM

Im Bereich der Künstlichen Intelligenz entwickeln sich Large Language Models (LLMs) zunehmend zu einem neuen Hot Spot in Forschung und Anwendung. Die effiziente und genaue Abstimmung dieser Giganten war jedoch schon immer eine große Herausforderung für Industrie und Wissenschaft. Kürzlich veröffentlichte der offizielle Blog von PyTorch einen Artikel über TorchTune, der große Aufmerksamkeit erregte. Als Werkzeug, das sich auf die Optimierung und das Design von LLMs konzentriert, wird TorchTune für seinen wissenschaftlichen Charakter und seine Praktikabilität hoch gelobt. In diesem Artikel werden die Funktionen, Features und die Anwendung von TorchTune beim LLM-Tuning ausführlich vorgestellt, in der Hoffnung, den Lesern ein umfassendes und tiefgehendes Verständnis zu vermitteln. 1. Der Geburtshintergrund und die Bedeutung von TorchTune, die Entwicklung der Deep-Learning-Technologie und des Deep-Learning-Modells (LLM)

So verwenden Sie PHP zur Leistungsanalyse und -optimierung So verwenden Sie PHP zur Leistungsanalyse und -optimierung Jun 06, 2023 pm 01:21 PM

Als beliebte serverseitige Sprache spielt PHP eine wichtige Rolle bei der Entwicklung und dem Betrieb von Websites. Da jedoch die Menge an PHP-Code immer weiter zunimmt und die Komplexität der Anwendungen zunimmt, wird es immer wahrscheinlicher, dass es zu Leistungsengpässen kommt. Um dieses Problem zu vermeiden, müssen wir eine Leistungsanalyse und -optimierung durchführen. In diesem Artikel wird kurz vorgestellt, wie Sie PHP zur Leistungsanalyse und -optimierung verwenden, um eine effizientere Ausführungsumgebung für Ihre Anwendungen bereitzustellen. 1. PHP-Leistungsanalysetool 1.XdebugXdebug ist ein weit verbreitetes Codeanalysetool.

Ausführliche Erläuterung der Optimierungspraktiken zur Verbesserung der Zugriffsgeschwindigkeit auf Go-Sprachwebsites Ausführliche Erläuterung der Optimierungspraktiken zur Verbesserung der Zugriffsgeschwindigkeit auf Go-Sprachwebsites Aug 26, 2023 pm 07:27 PM

Ausführliche Erläuterung der Optimierungspraktiken zur Verbesserung der Zugriffsgeschwindigkeit auf Go-Sprachwebsites Zusammenfassung: Im sich schnell entwickelnden Internetzeitalter ist die Website-Zugriffsgeschwindigkeit zu einem der wichtigsten Faktoren für Benutzer bei der Auswahl einer Website geworden. In diesem Artikel wird detailliert beschrieben, wie die Go-Sprache zur Optimierung der Website-Zugriffsgeschwindigkeit verwendet wird, einschließlich praktischer Erfahrungen bei der Optimierung von Netzwerkanforderungen, der Verwendung von Cache und der gleichzeitigen Verarbeitung. Der Artikel enthält auch Codebeispiele, die den Lesern helfen, diese Optimierungstechniken besser zu verstehen und anzuwenden. 1. Netzwerkanfragen optimieren Bei der Website-Entwicklung sind Netzwerkanfragen ein unvermeidlicher Link. Und die Optimierung von Netzwerkanfragen kann

See all articles