ホームページ データベース mysql チュートリアル 学会读懂MySql的慢查询日志_MySQL

学会读懂MySql的慢查询日志_MySQL

Jun 01, 2016 pm 12:59 PM
ログ

在前边的博客《何时、如何开启 MySql 日志?》中,我们了解到了如何启用 MySql 的慢查询日志。今天我们来看一下如何去读懂这些慢查询日志。
在跟踪慢查询日志之前,首先你得保证最少发生过一次慢查询。如果你没有可以自己制造一个:
root@server# mysql -e 'SELECT SLEEP(8);
上述操作所做的事情只有一个:"睡"(啥也不做)八秒。这个长度应该足以被记录在你的慢查询日志里了(我通常推荐针对长于 2 或 3 秒的查询进行慢查询记录)。
首先,我们看看一个慢速查询日志条目是什么样子的:
root@server# tail /var/log/slowqueries
# Time: 130320 7:30:26
# User@Host: db_user[db_database] @ localhost []
# Query_time: 4.545309 Lock_time: 0.000069 Rows_sent: 219 Rows_examined: 254
SET timestamp=1363779026;
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
我们来过一下每一行所代表的意思:
第一行表示记录日志时的时间。其格式是 YYMMDD H:M:S。我们可以看出上面的查询记录于 2013 年 3 月 20 日上午 7:30 - 注意:这个是服务器时间,可能跟你本地时间有所不同然后,我们可以看到 MySql 用户、服务器以及主机名第三行表示总的查询时间、锁定时间、"发送"或者返回的行数、查询过程中所检查的行数接下来我们看到的是 SET timestamp=UNIXTIME; 这是查询实际发生的时间。如果你想找现在的一些慢查询,通过检查这个就不会发生你所检查的是几个月之前所发生的慢查询了。下边我会介绍如何将其变成一个有用的时间最后一行显示完整的查询语句要将 Unix 时间转成一个人类可读的时间,可以使用 date -d 命令。输入 date -d @(记得要包括 @ 符号),然后在 @(之间没有空格)后粘贴日志中的时间戳:
root@server# date -d @1363779026
Wed Mar 20 07:30:26 EDT 2013
上面例子中我们可以看到查询进行的同时记录了该日志 - 但是对于一台超负载的服务器常常并非如此。因此记住:SET timestamp= value 才是实际的查询的执行时间。

现在我来演示一下我是如何使用 MySql 慢查询日志来解决我的某个网站上的一个真实问题的。你的查询可能与此不太一样,但是解决问题的原理是相通的。

how-to-read-mysql-query-log

我在一个博客网站上使用了一个名为 Tweet Blender 的插件来自动显示相关微博到我的关键字中。不幸的是,一些人发现了这个并使用我的微博中的关键字来发一些垃圾微博 - 不管怎样,最终结果就是我的博客网站上显示的是一些垃圾微博。因为相关微博在我的网站存在的时间并不长,所以我在网站上并没有发现什么问题,直到我查看慢查询日志。
我的网站对带有垃圾信息(垃圾信息常常都是一样的)的微博进行了几个类似的查询,经过一段时间后这些查询的数量太大以致其中的一些运行迟缓。当这种情况发生的时候,由于请求的数量非常大,有些朋友的网站很可能会因此假死或者直接报错,但是我的服务器经过很好的性能调优,因此并没有很明显的影响。幸运的是当时我正在进行慢查询日志查看,及时发现了这一情况并迅速解决了这个问题。
这个问题的解决很简单 - Tweet Blender 具备一个漂亮的过滤功能,我只需将该微博用户名以及一些垃圾关键字添加到 "exclude" 列表,之后就再也没有这种问题了。这样看来,对我们自己网站以及日志的监控是多么重要,即使是一星期对每个站点/服务器只进行一次快速检查。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

win10のイベントID 6013とは何ですか? win10のイベントID 6013とは何ですか? Jan 09, 2024 am 10:09 AM

win10 のログは、ユーザーがシステムの使用状況を詳細に把握するのに役立ちます。自分の管理ログを探しているときに、ログ 6013 に遭遇したことがあるユーザーは多いでしょう。では、このコードは何を意味するのでしょうか。以下にそれを紹介しましょう。 win10 ログ 6013 とは: 1. これは通常のログです。このログの情報は、コンピュータが再起動されたことを意味するものではなく、最後の起動からシステムが実行されている時間を示します。このログは、毎日 1 回、12 時ちょうどに表示されます。システムの稼働時間を確認するにはどうすればよいですか? cmd に systeminfo と入力できます。その中に一行あります。

ロガーのバッファ サイズ ログの用途 ロガーのバッファ サイズ ログの用途 Mar 13, 2023 pm 04:27 PM

この機能は、開発時に使用される問題分析を容易にするために、使用情報と記録をエンジニアにフィードバックする機能であり、ユーザー自身がアップロード ログを生成することはほとんどないため、ユーザーにとっては役に立ちません。ロギング バッファは、ディスクに書き込まれる REDO ログの変更ベクトルを短期的に保存するために使用される小さな一時領域です。ディスクへのログ バッファーの書き込みは、複数のトランザクションからの変更ベクトルのバッチです。それでも、ログ バッファー内の変更ベクトルはほぼリアルタイムでディスクに書き込まれ、セッションが COMMIT ステートメントを発行すると、ログ バッファーの書き込み操作がリアルタイムで実行されます。

Win10 でのイベント 7034 エラー ログの問題のトラブルシューティング Win10 でのイベント 7034 エラー ログの問題のトラブルシューティング Jan 11, 2024 pm 02:06 PM

win10 のログは、ユーザーがシステムの使用状況を詳細に把握するのに役立ちます。多くのユーザーは、自分の管理ログを探しているときに、多くのエラー ログを見たことがあるはずです。そこで、どのように解決すればよいでしょうか。以下を見てみましょう。 win10 ログ イベント 7034 を解決する方法: 1. [スタート] をクリックして [コントロール パネル] を開きます。 2. [管理ツール] を見つけます。 3. [サービス] をクリックします。 4. HDZBCommServiceForV2.0 を見つけて、右クリックして [サービスの停止] を変更します。 「手動開始」へ

ThinkPHP6 でのログインの使用方法 ThinkPHP6 でのログインの使用方法 Jun 20, 2023 am 08:37 AM

インターネットと Web アプリケーションの急速な発展に伴い、ログ管理の重要性がますます高まっています。 Web アプリケーションを開発する場合、問題を見つけて特定する方法は非常に重要な問題です。ログ システムは、これらのタスクを達成するのに役立つ非常に効果的なツールです。 ThinkPHP6 は、アプリケーション開発者がアプリケーション内で発生するイベントをより適切に管理および追跡できるようにする強力なログ システムを提供します。この記事では、ThinkPHP6 のロギングシステムの使い方とロギングシステムの活用方法を紹介します。

iPhoneのヘルスケアアプリで薬の記録履歴を表示する方法 iPhoneのヘルスケアアプリで薬の記録履歴を表示する方法 Nov 29, 2023 pm 08:46 PM

iPhone では、ヘルスケア App に薬を追加して、毎日摂取する薬、ビタミン、サプリメントを追跡および管理できます。デバイスで通知を受信したときに、服用した薬またはスキップした薬を記録できます。薬を記録すると、どれくらいの頻度で薬を服用したか、または服用しなかったかを確認できるので、健康状態を追跡するのに役立ちます。この記事では、iPhone のヘルスケア アプリで選択した薬のログ履歴を表示する方法を説明します。ヘルスケア アプリで薬の記録履歴を表示する方法に関する短いガイド: ヘルスケア アプリ > 参照 > 薬 > 薬 > 薬の選択 > オプション&a に移動します。

Linuxシステムのログ閲覧コマンドを詳しく解説! Linuxシステムのログ閲覧コマンドを詳しく解説! Mar 06, 2024 pm 03:55 PM

Linux システムでは、次のコマンドを使用してログ ファイルの内容を表示できます。 tail コマンド: tail コマンドは、ログ ファイルの末尾の内容を表示するために使用されます。最新のログ情報を表示するための一般的なコマンドです。 tail [オプション] [ファイル名] 一般的に使用されるオプションは次のとおりです。 -n: 表示する行数を指定します。デフォルトは 10 行です。 -f: ファイルの内容をリアルタイムで監視し、ファイルが更新されたときに新しい内容を自動的に表示します。例: tail-n20logfile.txt#logfile.txt ファイルの最後の 20 行を表示 tail-flogfile.txt#logfile.txt ファイルの更新された内容をリアルタイムで監視 head コマンド: head コマンドは先頭を表示するために使用されます。ログファイルの

win10 ログのイベント ID455 の意味を理解する win10 ログのイベント ID455 の意味を理解する Jan 12, 2024 pm 09:45 PM

win10のログは内容が豊富で、自分の管理ログを探しているときにイベントID455の表示エラーを見たことがある人も多いと思いますが、これはどういう意味なのか見てみましょう。 win10 ログのイベント ID455 とは次のとおりです。 1. ID455 は、インフォメーション ストアがログ ファイルを開いたときに <file> で発生したエラー <error> です。

さまざまな種類の Linux ログ ファイルと設定手順 さまざまな種類の Linux ログ ファイルと設定手順 Feb 26, 2024 pm 10:54 PM

Linux ログ ファイルの種類と設定方法 Linux システムでは、システムの実行状態やユーザーの操作、さまざまなイベントの発生などを記録するログ ファイルは非常に重要です。ログ ファイルをチェックすることで、システム管理者は問題を適時に発見し、それに応じて対処できます。この記事では、Linux システムの一般的なログ ファイルの種類とログの構成方法を紹介します。 1. ログファイルの種類 システムログ: システムログとは、システムの起動、終了、サービスの起動と停止など、システムの稼働状況を記録するログファイルです。

See all articles