最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用mysqladmin獲取一個(gè)mysql實(shí)例當(dāng)前的TPS和QPS

 更新時(shí)間:2020年11月09日 09:43:55   作者:AsiaYe  
這篇文章主要介紹了如何使用mysqladmin這個(gè)工具來獲取一個(gè)mysql實(shí)例當(dāng)前的TPS和QPS,幫助大家更好的管理數(shù)據(jù)庫,感興趣的朋友可以了解下

  mysqladmin是mysql官方的一款執(zhí)行管理端的客戶端程序,可以利用它對MySQL數(shù)據(jù)庫服務(wù)進(jìn)行操作,在MySQL5.5及以前的版本中,最常用的方法是用它來關(guān)閉mysql實(shí)例:

mysqladmin -uxxx -pxxx -Pxxx -hxxx  shutdown

   隨著mysql版本的升級(jí),mysql5.7中已經(jīng)可以直接使用shutdown命令來進(jìn)行mysql服務(wù)的關(guān)閉了。mysql8.0版本中,可以使用restart命令來對mysql服務(wù)進(jìn)行重啟,mysqladmin這個(gè)工具在日常的運(yùn)維場景中用的越來越少。

    今天來看如何使用mysqladmin這個(gè)工具來獲取一個(gè)mysql實(shí)例當(dāng)前的TPS和QPS呢?要解決這個(gè)問題,首先得知道TPS和QPS的參考指標(biāo)。在MySQL中,我們可以使用show global status命令來查看mysql當(dāng)前的指標(biāo)情況,如下:

mysql--dba_admin@127.0.0.1:(none) 13:37:50>>show global status;
+------------------------------------------+----------------+
| Variable_name       | Value   |
+------------------------------------------+----------------+
| Aborted_clients       | 85032   |
| Aborted_connects       | 176   |
| Binlog_cache_disk_use     | 3293   |
| Binlog_cache_use       | 14631673326 |
| Binlog_stmt_cache_disk_use    | 13    |
| Binlog_stmt_cache_use     | 9948429  |
| Bytes_received       | 19921975442457 |
| Bytes_sent        | 13553543054684 |
| Com_admin_commands      | 913630   |
| Com_assign_to_keycache     | 0    |
| Com_alter_db        | 0    |
| Com_alter_db_upgrade      | 0    |

有這么幾個(gè)指標(biāo)比較重要:

1、Questions:

MySQL服務(wù)器執(zhí)行的語句數(shù),它僅包含客戶端發(fā)送給服務(wù)器的語句,不包含存儲(chǔ)過程中執(zhí)行的語句,該參數(shù)不計(jì)算Com_ping,Com_statistics,Com_stmt_prepare,Com_stmt_close以及Com_stat_reset命令,但是包含show命令、dml命令。不包含主從復(fù)制的語句。

2、Queries:

服務(wù)器執(zhí)行的語句數(shù),與Questions參數(shù)不同,他包含了在存儲(chǔ)過程中執(zhí)行的語句以及內(nèi)置的主從復(fù)制語句,它不計(jì)算Com_ping和Com_statistics命令

3、Com_xxx:

代表xxx語句已經(jīng)執(zhí)行的次數(shù),每種類型都有一個(gè)狀態(tài)變量,舉例有Com_select,Com_insert,Com_delete,Com_update,Com_commit,Com_rollback等等。

通常情況下,計(jì)算TPS和QPS的方案有如下幾個(gè):

方案一、如果考慮的是MySQL服務(wù)器上執(zhí)行的所有SQL,基于Queries來計(jì)算QPS,基于Com_commit和Com_rollback的代數(shù)和來計(jì)算TPS

方案二、如果僅僅考慮業(yè)務(wù)方通過命令行執(zhí)行的所有SQL,基于Question來計(jì)算QPS,基于Com_commit和Com_rollback的代數(shù)和來計(jì)算TPS

方案三、基于Com_xxx的status來計(jì)算QPS和TPS

以下是使用mysqladmin的方案來看TPS和QPS的命令:

[root ~]#./mysqladmin -r -i 2 -uroot -pxxxxxx -P4306 --socket=/data/mysql_4306/tmp/mysql.sock ext| awk '/Queries/{printf("QPS:%d\n",$4)}'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
QPS:55668415
QPS:1
QPS:34
QPS:32
QPS:108
QPS:6
QPS:7

[root ~]# ./mysqladmin -r -i 2 -uroot -pxxxxxx -P4306 --socket=/data/mysql_4306/tmp/mysql.sock ext| awk '/Com_commit/{printf("TPS:%d\n",$4)}'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
TPS:27449691
TPS:56
TPS:1
TPS:2
TPS:28

這里針對參數(shù)-r和-i進(jìn)行解釋,我們使用mysqladmin --help指令,過濾這兩個(gè)參數(shù):

  • -r, --relative     

Show difference between current and previous values when used with -i. Currently only works with extended-status.

翻譯一下,就是現(xiàn)實(shí)當(dāng)前和之前的值之間的差距,需要配合-i使用,再來看-i參數(shù):

  • -i, --sleep=#       Execute commands repeatedly with a sleep between.

也就是時(shí)間間隔

除此之外,后面還有一個(gè)ext的選項(xiàng),看這個(gè)選項(xiàng)的解釋:

extended-status:

    Gives an extended status message from the server #翻譯一下,就是給出更多的MySQL服務(wù)器的狀態(tài)信息

這樣上面的命令就很容易進(jìn)行解釋了。使用-r參數(shù)來計(jì)算不同的狀態(tài)變量之間的差值,然后-i參數(shù)控制時(shí)間長度,設(shè)置為1代表每秒鐘的差值,ext代表輸出更多MySQL的狀態(tài)信息??梢苑奖愕挠?jì)算TPS和QPS,不同的計(jì)算方法略有差異,可以根據(jù)不同場景,來計(jì)算更為準(zhǔn)確的TPS和QPS值。

計(jì)算TPS和QPS的時(shí)候,有幾個(gè)標(biāo)準(zhǔn),可以酌情替換:

1、com_commit不會(huì)記錄隱式提交的事務(wù),所以如果開了隱式提交使用com_commit計(jì)算tps會(huì)不準(zhǔn)。

2、如果數(shù)據(jù)庫中存在比較多的myisam表,則計(jì)算還是questions 比較合適。

3、如果數(shù)據(jù)庫中存在比較多的innodb表,則計(jì)算以com_*數(shù)據(jù)來源比較合適。

4、Questions 是記錄了從mysqld啟動(dòng)以來所有的select,dml 次數(shù)包括show 命令的查詢的次數(shù)。這樣多少有失準(zhǔn)確性,比如很多數(shù)據(jù)庫有監(jiān)控系統(tǒng)在運(yùn)行,每5秒對數(shù)據(jù)庫進(jìn)行一次show 查詢來獲取當(dāng)前數(shù)據(jù)庫的狀態(tài),而這些查詢就被記錄到QPS,TPS統(tǒng)計(jì)中,造成一定的"數(shù)據(jù)污染".

5、TPS在某些隱式提交開啟的情況下,可以使用Com_insert + Com_update + Com_delete來查看。

最后,給出判斷mysql是否存活的一種方法:

[root ~]# ./mysqladmin -r -i 2 -uroot -pdba@JJMatch -P4306 --socket=/data/mysql_4306/tmp/mysql.sock ping
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
mysqld is alive
mysqld is alive
mysqld is alive

使用mysqladmin的ping命令來查看mysql的存活情況。

隨著MySQL的升級(jí),mysqladmin工具的使用頻率會(huì)越來越少,幾乎都是通過通過mysql工具來實(shí)現(xiàn)日常的需求,mysql8.0版本的mysqladmin工具在mysql5.7的基礎(chǔ)上略有調(diào)整,有興趣可以自己研究。

以上就是如何使用mysqladmin獲取一個(gè)mysql實(shí)例當(dāng)前的TPS和QPS的詳細(xì)內(nèi)容,更多關(guān)于mysqladmin 統(tǒng)計(jì)mysql T/QPS的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mysql支持跨表delete刪除多表記錄

    mysql支持跨表delete刪除多表記錄

    Mysql可以在一個(gè)sql語句中同時(shí)刪除多表記錄,也可以根據(jù)多個(gè)表之間的關(guān)系來刪除某一個(gè)表中的記錄
    2012-12-12
  • 如何把Mysql卸載干凈(親測有效)

    如何把Mysql卸載干凈(親測有效)

    這篇文章主要介紹了如何把Mysql卸載干凈(親測有效),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • MySQL的表約束的具體使用

    MySQL的表約束的具體使用

    本文主要介紹了MySQL的表約束,通過合理地使用 NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY 和 CHECK 約束,可以有效防止錯(cuò)誤數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,感興趣的可以了解一下
    2024-07-07
  • MySQL CHECK約束(5.7和8.0)的使用

    MySQL CHECK約束(5.7和8.0)的使用

    CHECK約束用于確保數(shù)據(jù)表中的某列或多列的數(shù)據(jù)符合特定的條件,本文主要介紹了MySQL CHECK約束(5.7和8.0)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • 阿里云centos7使用yum安裝mysql的正確姿勢(推薦)

    阿里云centos7使用yum安裝mysql的正確姿勢(推薦)

    這篇文章主要介紹了阿里云centos7使用yum安裝mysql的正確姿勢,需要的朋友可以參考下
    2017-07-07
  • Mysql數(shù)據(jù)庫介紹及mysql顯示命令

    Mysql數(shù)據(jù)庫介紹及mysql顯示命令

    這篇文章主要介紹了Mysql數(shù)據(jù)庫介紹及mysql顯示命令 的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • mysql多版本并發(fā)控制MVCC的實(shí)現(xiàn)

    mysql多版本并發(fā)控制MVCC的實(shí)現(xiàn)

    這篇文章主要介紹了mysql多版本并發(fā)控制MVCC的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • MySQL中order?by排序時(shí)數(shù)據(jù)存在null則排序在最前面的方法

    MySQL中order?by排序時(shí)數(shù)據(jù)存在null則排序在最前面的方法

    order by排序是最常用的功能,但是排序有時(shí)會(huì)遇到數(shù)據(jù)為空null的情況,這樣排序就會(huì)亂了,這篇文章主要給大家介紹了關(guān)于MySQL中order?by排序時(shí)數(shù)據(jù)存在null則排序在最前面的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • mysql之如何查找配置文件my.ini的位置

    mysql之如何查找配置文件my.ini的位置

    這篇文章主要介紹了mysql之如何查找配置文件my.ini的位置問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • mysql下的max_allowed_packet參數(shù)設(shè)置詳解

    mysql下的max_allowed_packet參數(shù)設(shè)置詳解

    本文主要介紹了mysql下的max_allowed_packet參數(shù)設(shè)置詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論

聂拉木县| 兴安县| 平陆县| 壤塘县| 新宾| 邢台市| 日土县| 开封市| 阳曲县| 扶沟县| 内江市| 南充市| 鄂温| 浙江省| 长沙县| 遵义县| 彭州市| 绿春县| 子洲县| 双辽市| 永登县| 天水市| 阿拉尔市| 通城县| 富顺县| 新化县| 璧山县| 中方县| 余干县| 霍林郭勒市| 绥阳县| 县级市| 无为县| 深水埗区| 青河县| 邵东县| 福州市| 丰宁| 永兴县| 永德县| 彭水|