Inhaltsverzeichnis
现象
排查过程
确定是insert update 还是 delete操作导致tps高?
到底是那些update语句导致tps高?
Heim Datenbank MySQL-Tutorial 使用tcpdump排查mysql数据库tps飙升的问题

使用tcpdump排查mysql数据库tps飙升的问题

Jun 07, 2016 pm 04:42 PM
mysql tcpdump tps 使用 排查 数据库

现象 上线后习惯性的观察数据库的变化。发现数据库的tps有很大的飙升。不过幸好在双十一的时候在数据库方面做了一些完善,虽然主库的tps有飙升,但是总体load还不是很高。但是问题既然出现了,还是要解决的。 排查过程 确定是insert update 还是 delete操作

现象

上线后习惯性的观察数据库的变化。发现数据库的tps有很大的飙升。不过幸好在双十一的时候在数据库方面做了一些完善,虽然主库的tps有飙升,但是总体load还不是很高。但是问题既然出现了,还是要解决的。

排查过程

确定是insert update 还是 delete操作导致tps高?

既然是tps高,那就说明数据库修改的操作多了。到底是insert update操作多了, 还是 delete 操作多了?在天机平台可以很明显的可以看出来。如下图:
tps_tianji

从上图,我们可以很清楚的看出来是update操作多了导致的。

到底是那些update语句导致tps高?

当时程序中并没有记录所有执行的sql语句。因此,没有一个现成的数据文件供分析。Sql语句是通过网络以文本方式传输到mysql服务器端的。因此我们完全可以通过tcpdump这个工具把所有的sql语句捕获到。

首先,为了便于比对,我先把一台服务器上的代码回滚到上线前的版本。

其次,我在两台服务器上同时执行tcpdump命令,以捕获所有执行的sql脚本。这两台服务器分别运行着上线前的旧版本程序和上线后的新版本程序。抓包命令如下:

$sudo tcpdump -i eth0 -A -s 3000 port 3306 > ~/sql.log
Nach dem Login kopieren

注意,我们在使用tcpdump的时候加了-A参数,这样就可以把sql语句都显示出来了。更多tcpdump使用,可以查看文章 调试利器之tcpdump详解

大约执行1分钟后,同时停止执行。这个时候,sql.log文件中已经包含了这段时间执行的所有sql语句。示例如下:

$grep 'update' ./sql.log | head
....5u.vD....update session_table set expire=’2014-12-12 20:01:23’ where sess_id = ‘demostring123’ limit 1
Nach dem Login kopieren

既然我们现在已经有了所有执行的sql语句,我们就可以很容易的通过使用grep, wc 等命令分析出是那些sql语句执行次数猛增了。

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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Wie man phpmyadmin öffnet Wie man phpmyadmin öffnet Apr 10, 2025 pm 10:51 PM

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL: Eine Einführung in die beliebteste Datenbank der Welt MySQL: Eine Einführung in die beliebteste Datenbank der Welt Apr 12, 2025 am 12:18 AM

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

So verwenden Sie ein einzelnes Gewinde -Redis So verwenden Sie ein einzelnes Gewinde -Redis Apr 10, 2025 pm 07:12 PM

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Warum MySQL verwenden? Vorteile und Vorteile Warum MySQL verwenden? Vorteile und Vorteile Apr 12, 2025 am 12:17 AM

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Mysqls Platz: Datenbanken und Programmierung Mysqls Platz: Datenbanken und Programmierung Apr 13, 2025 am 12:18 AM

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

So stellen Sie eine Verbindung zur Datenbank von Apache her So stellen Sie eine Verbindung zur Datenbank von Apache her Apr 13, 2025 pm 01:03 PM

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

PhpMyAdmin Connection MySQL PhpMyAdmin Connection MySQL Apr 10, 2025 pm 10:57 PM

Wie verbinde ich mit PhpMyAdmin mit MySQL? Die URL zum Zugriff auf phpmyadmin ist normalerweise http: // localhost/phpmyadmin oder http: // [Ihre Server -IP -Adresse]/Phpmyadmin. Geben Sie Ihren MySQL -Benutzernamen und Ihr Passwort ein. Wählen Sie die Datenbank aus, mit der Sie eine Verbindung herstellen möchten. Klicken Sie auf die Schaltfläche "Verbindung", um eine Verbindung herzustellen.

Lösung für MySQL begegnet 'Zugriff für Benutzer' Problem Lösung für MySQL begegnet 'Zugriff für Benutzer' Problem Apr 11, 2025 pm 05:36 PM

So lösen Sie den MySQL -Zugriff für Benutzer "Fehler: 1. Überprüfen Sie die Berechtigung des Benutzers, eine Verbindung zur Datenbank herzustellen. 2. Setzen Sie das Passwort zurück; 3.. Remote -Verbindungen zulassen; 4. Erfrischungsberechtigungen; 5. Überprüfen Sie die Datenbankserverkonfiguration (Bind-Address, Skip-Grant-Tabellen). 6. Überprüfen Sie die Firewall -Regeln; 7. Starten Sie den MySQL -Dienst neu. TIPP: NACHTEN ALDEN, ABER DIE DATABASE.

See all articles