MySQL性能指標及計算方法

MySQL性能指標及計算方法

絕大多數MySQL性能指標可以通過以下兩種方式獲取:

(1)mysqladmin

使用mysqladmin extended-status命令獲得的MySQL的性能指標,默認為累計值。如果想了解當前狀態,需要進行差值計算;加上參數 --relative(-r),就可以看到各個指標的差值,配合參數--sleep(-i)就可以指定刷新的頻率。

?

(2)Show global status

可以列出MySQL服務器運行各種狀態值,累計值

mysqladmin extended-status命令及show global status得到的指標項特別多。實際應用中,重點關注以下性能指標:

1. tps/qps

tps: Transactions Per Second,每秒事務數;

qps: Queries Per Second每秒查詢數;

通常有兩種方法計算tps/qps:

方法1:基于 ?com_commit、com_rollback 計算tps,基于 questions ?計算qps。

TPS = Com_commit/s + Com_rollback/s

其中,

Com_commit /s= mysqladmin extended-status --relative --sleep=1|grep -w Com_commit

Com_rollback/s = mysqladmin extended-status --relative --sleep=1|grep -w Com_rollback

QPS 是指MySQL Server 每秒執行的Query總量,通過Questions (客戶的查詢數目)狀態值每秒內的變化量來近似表示,所以有:

QPS = mysqladmin extended-status --relative --sleep=1|grep -w Questions

?

仿照上面的方法還可以得到,mysql每秒select、insert、update、delete的次數等,如:

Com_select/s = mysqladmin extended-status --relative --sleep=1|grep -w Com_select

Com_select/s:平均每秒select語句執行次數

Com_insert/s:平均每秒insert語句執行次數

Com_update/s:平均每秒update語句執行次數

Com_delete/s:平均每秒delete語句執行次數

?

方法2: 基于com_%計算tps ,qps

tps= Com_insert/s + Com_update/s + Com_delete/s

qps=Com_select/s + Com_insert/s + Com_update/s + Com_delete/s

2. 線程狀態

threads_running:當前正處于激活狀態的線程個數

threads_connected:當前連接的線程的個數

3. 流量狀態

Bytes_received/s:平均每秒從所有客戶端接收到的字節數,單位KB

Bytes_sent/s:平均每秒發送給所有客戶端的字節數,單位KB

4. innodb文件讀寫次數

innodb_data_reads:innodb平均每秒從文件中讀取的次數

innodb_data_writes:innodb平均每秒從文件中寫入的次數

innodb_data_fsyncs:innodb平均每秒進行fsync()操作的次數

5. innodb讀寫量

innodb_data_read:innodb平均每秒鐘讀取的數據量,單位為KB

innodb_data_written:innodb平均每秒鐘寫入的數據量,單位為KB

6. innodb緩沖池狀態

innodb_buffer_pool_reads: 平均每秒從物理磁盤讀取頁的次數?

innodb_buffer_pool_read_requests: 平均每秒從innodb緩沖池的讀次數(邏輯讀請求數)

innodb_buffer_pool_write_requests: 平均每秒向innodb緩沖池的寫次數

innodb_buffer_pool_pages_dirty: 平均每秒innodb緩存池中臟頁的數目

innodb_buffer_pool_pages_flushed: 平均每秒innodb緩存池中刷新頁請求的數目

innodb緩沖池的讀命中率 innodb_buffer_read_hit_ratio =?( 1 - Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100

Innodb緩沖池的利用率

Innodb_buffer_usage =? ( 1 - Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total) * 100

7. innodb日志

innodb_os_log_fsyncs: 平均每秒向日志文件完成的fsync()寫數量

innodb_os_log_written: 平均每秒寫入日志文件的字節數

innodb_log_writes: 平均每秒向日志文件的物理寫次數

innodb_log_write_requests: 平均每秒日志寫請求數

8. innodb行

innodb_rows_deleted: 平均每秒從innodb表刪除的行數

innodb_rows_inserted: 平均每秒從innodb表插入的行數

innodb_rows_read: 平均每秒從innodb表讀取的行數

innodb_rows_updated: 平均每秒從innodb表更新的行數

innodb_row_lock_waits: ?一行鎖定必須等待的時間數

innodb_row_lock_time: 行鎖定花費的總時間,單位毫秒

innodb_row_lock_time_avg: 行鎖定的平均時間,單位毫秒

9. MyISAM讀寫次數

key_read_requests: MyISAM平均每秒鐘從緩沖池中的讀取次數

Key_write_requests: MyISAM平均每秒鐘從緩沖池中的寫入次數

key_reads : MyISAM平均每秒鐘從硬盤上讀取的次數

key_writes : MyISAM平均每秒鐘從硬盤上寫入的次數

10. MyISAM緩沖池

MyISAM平均每秒key buffer利用率

Key_usage_ratio =Key_blocks_used/(Key_blocks_used+Key_blocks_unused)*100

MyISAM平均每秒key buffer讀命中率

Key_read_hit_ratio=(1-Key_reads/Key_read_requests)*100

MyISAM平均每秒key buffer寫命中率

Key_write_hit_ratio =(1-Key_writes/Key_write_requests)*100

11.?臨時表

Created_tmp_disk_tables:?服務器執行語句時在硬盤上自動創建的臨時表的數量

Created_tmp_tables:?服務器執行語句時自動創建的內存中的臨時表的數量

Created_tmp_disk_tables/Created_tmp_tables比值最好不要超過10%,如果Created_tmp_tables值比較大,可能是排序句子過多或者連接句子不夠優化

12. 其他

slow_queries: 執行時間超過long_query_time秒的查詢的個數(重要)

sort_rows: 已經排序的行數

open_files: 打開的文件的數目

open_tables: 當前打開的表的數量

select_scan: 對第一個表進行完全掃描的聯接的數量

?

此外,還有一些性能指標不能通過mysqladmin extended-status或show global status直接得到,但是十分重要。

13. response?time: 響應時間

Percona提供了tcprstat工具統計響應時間,此功能默認是關閉的,可以通過設置參數query_response_time_stats=1打開這個功能。

有兩種方法查看響應時間:

(1)通過命令SHOW QUERY_RESPONSE_TIME查看響應時間統計;

(2)通過INFORMATION_SCHEMA里面的表QUERY_RESPONSE_TIME來查看。

http://www.orczhou.com/index.php/2011/09/thanks-percona-response-time-distribution/comment-page-1/(參考文章)

?14.?Slave delay: 備庫延遲

可以在slave節點上執行show slave status\G命令,Seconds_Behind_Master項的值即為slave當前的延時量,單位秒。

轉載于:https://www.cnblogs.com/cyt1153/p/6697847.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393206.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393206.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393206.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php可變變量講解,PHP可變變量實例詳解

什么是可變變量?在PHP中有一個其他類型的變量,“可變變量”。可變變量是一種PHP獨特的變量,他允許動態改變一個變量的名稱。可變變量的工作原理這個特性的工作原理是用一個變量的值作為另一個變量的名稱。例如,我們可以設置$str的…

Nginx平滑升級到最新版本

(一)簡述: 早上收到nginx最新漏洞的通知,Nginx官方發布最新的安全公告,在Nginx范圍過濾器中發現了一個安全問題(CVE-2017-7529),通過精心構造的惡意請求可能會導致整數溢出并且不…

如何使用TypeScript從Microsoft Word生成GitHub markdown文件

by Manish Bansal通過Manish Bansal What? Why would one want to generate an MD file from a Microsoft word document? If that’s the first thought you had after reading this title, then let me give you a strong use case.什么? 為什么要從Microsoft …

Android Studio 導入 Android 系統模塊并編譯和調試

FAQ: AS導入系統模塊源碼,并且能夠編譯調試,正常查看java doc ???? Android AOSP基礎(五)Android Studio調試系統源碼的三種方式http://liuwangshu.cn/framework/aosp/5-debug-aosp.html Android AOSP基礎(四&…

2014年ENVI/IDL遙感應用與開發培訓班-11月重慶站 開始報名了

主辦單位: 中國遙感應用協會 Esri中國信息技術有限公司 內容簡單介紹: 依據中國遙感應用協會欒恩杰理事長推動國內遙感技術和應用的指示精神,2014年中國遙感應用協會組織培訓交流部與Esri中國信息技術有限公司將共同在多個城市舉辦以"傳…

Python自動化運維:Django之View視圖和Template

views詳解 http請求中產生兩個核心對象: http請求:HttpRequest對象 http響應:HttpResponse對象 (1) HttpRequest對象 當請求一個頁面時,Django 創建一個 HttpRequest對象包含原數據的請求。然后 Django 加載…

leetcode491. 遞增子序列(回溯算法)

給定一個整型數組, 你的任務是找到所有該數組的遞增子序列&#xff0c;遞增子序列的長度至少是2。 示例: 輸入: [4, 6, 7, 7] 輸出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]] 代碼 class Solution {List<List<Integer>>…

java重入鎖,再探JAVA重入鎖

之前的文章中簡單的為大家介紹了重入鎖JAVA并發之多線程基礎(2)。這里面也是簡單的為大家介紹了重入鎖的幾種性質&#xff0c;這里我們就去探索下里面是如何實現的。我們知道在使用的時候&#xff0c;必須鎖先有定義&#xff0c;然后我們再拿著當前的鎖進行加鎖操作&#xff0c…

azure服務器_如何使用Azure Functions和SendGrid構建無服務器報表服務器

azure服務器It’s 2018 and I just wrote a title that contains the words “Serverless server”. Life has no meaning.那是2018年&#xff0c;我剛剛寫了一個標題&#xff0c;其中包含“無服務器服務器”一詞。 生活沒有意義。 Despite that utterly contradictory headli…

【GoWeb開發實戰】Cookie

cookie Web開發中一個很重要的議題就是如何做好用戶的整個瀏覽過程的控制&#xff0c;因為HTTP協議是無狀態的&#xff0c;所以用戶的每一次請求都是無狀態的&#xff0c;我們不知道在整個Web操作過程中哪些連接與該用戶有關&#xff0c;我們應該如何來解決這個問題呢&#xff…

PhotoKit 照片庫的管理-獲取圖像

PHAsset部分屬性解析 1、HDR 和全景照片 mediaSubtypes 屬性驗證資源庫中的圖像在捕捉時是否開啟了 HDR&#xff0c;拍攝時是否使用了相機應用的全景模式。 2、收藏和隱藏資源 要驗證一個資源是否被用戶標記為收藏或被隱藏&#xff0c;只要檢查 PHAsset 實例的 favorite 和 hid…

cmail服務器安裝后無法登錄的解決辦法

安裝cmailserver 5.4.6軟件安裝、注冊都非常順利&#xff0c;webmail頁面也都正常打開&#xff0c;但是一點“登錄”就提示錯誤&#xff1a; Microsoft VBScript 運行時錯誤 錯誤 800a01ad ActiveX 部件不能創建對象: CMailCOM.POP3.1 /mail/login.asp&#xff0c;行 42 點“…

matlab對人工智能,MATLAB與人工智能深度學習和機器學習.PDF

MATLAB與人工智能深度學習和機器學習MATLAB 與人工智能&#xff1a;深度學習有多遠&#xff1f;© 2017 The MathWorks, Inc.1機器學習8機器學習無處不在? 圖像識別 [TBD]? 語音識別? 股票預測? 醫療診斷? 數據分析? 機器人? 更多……9什么是機器學習&#xff1f;機…

leetcode1471. 數組中的 k 個最強值(排序)

給你一個整數數組 arr 和一個整數 k 。 設 m 為數組的中位數&#xff0c;只要滿足下述兩個前提之一&#xff0c;就可以判定 arr[i] 的值比 arr[j] 的值更強&#xff1a; |arr[i] - m| > |arr[j] - m| |arr[i] - m| |arr[j] - m|&#xff0c;且 arr[i] > arr[j] 請返回…

Spring中WebApplicationInitializer的理解

現在JavaConfig配置方式在逐步取代xml配置方式。而WebApplicationInitializer可以看做是Web.xml的替代&#xff0c;它是一個接口。通過實現WebApplicationInitializer&#xff0c;在其中可以添加servlet&#xff0c;listener等&#xff0c;在加載Web項目的時候會加載這個接口實…

使用fetch封裝請求_關于如何使用Fetch API執行HTTP請求的實用ES6指南

使用fetch封裝請求In this guide, I’ll show you how to use the Fetch API (ES6) to perform HTTP requests to an REST API with some practical examples you’ll most likely encounter.在本指南中&#xff0c;我將向您展示如何使用Fetch API(ES6 )來執行對REST API的 HTT…

hadoop集群中客戶端修改、刪除文件失敗

這是因為hadoop集群在啟動時自動進入安全模式 查看安全模式狀態&#xff1a;hadoop fs –safemode get 進入安全模式狀態&#xff1a;hadoop fs –safemode enter 退出安全模式狀態&#xff1a;hadoop fs –safemode leave轉載于:https://www.cnblogs.com/lishengnan/p/a123.ht…

OpenStack nova-network 支持多vlan技術實現片段代碼

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748

Rest API

什么是接口測試 接口測試又稱 API 測試 Application Programming Interface 接口測試是測試系統組件間接口的一種測試。重點關注數據傳遞。 接口測試一般會用于多系統間交互開發&#xff0c;或者擁有多個子系統的應用系統開發的測試。 為什么要做接口測試 很多系統關聯都是基于…

php循環checkbox,php循環刪除checkbox | 學步園

一、首先要了解sql語句$SQLdelete from user where id in (1,2,4);表單大概是&#xff1a;form action methodpost input nameID_Dele[] typecheckbox idID_Dele[] value1input nameID_Dele[] typecheckbox idID_Dele[] value2input nameID_Dele[] type首先要了解sql語句$SQL&q…