91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

采集MySQL數據庫運行狀態數據的方法

發布時間:2021-08-19 20:26:04 來源:億速云 閱讀:207 作者:chen 欄目:數據庫

這篇文章主要介紹“采集MySQL數據庫運行狀態數據的方法”,在日常操作中,相信很多人在采集MySQL數據庫運行狀態數據的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”采集MySQL數據庫運行狀態數據的方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!


  狀態數據項
  MySQL數據庫系統提供了數據采集的命令:SHOW STATUS; 或者直接讀取虛擬數據庫informat_schema對象GLOBAL_STATUS(注:5.1及以上版本)的數據,我們隊需要重點采集的數據進行一些類別劃分。
  1) SQL語句執行量
  (1). Queries
  MySQL服務器執行的所有SQL語句次數,包過存儲過程執行的SQL語句,但是不包含命令COM_PING 和COM_STATISTICS的執行次數;
  (2). Questions
  由客戶端發送給服務器端執行的所有SQL語句次數,但是不包含存儲過程執行的SQL語句,也不包含命令COM_PING 和COM_STATISTICS的執行次數;
  (3). Com_****統計
  Com_insert — 記錄INSERT INTO TABLE tablename VALUES(…)…語句執行的次數;
  Com_insert_select — 記錄INSERT INTO TABLE tablename SELECT …語句執行的次數;
  Com_delete — 記錄DELETE [FROM] tablename…語句執行的次數;
  Com_delete_multi — 記錄DELETE [FROM] tablename1,tablename2…語句執行的次數;
  Com_select — 記錄SELECT …FROM tablename1…語句執行的次數;
  Com_update — 記錄UPDATE tablename1 SET …語句執行的次數;
  Com_update_multi — 記錄UPDATE tablename1,tabkename2 … SET …語句執行的次數;
  2) 查詢緩存
  Qcache_hits — 查詢語句命中查詢緩存的次數;
  Qcache_inserts — 查詢語句及記錄集加入到查詢緩存的數量;
  Qcache_lowmem_prunes — 因查詢緩內存容量不足,而不得不從查詢緩存中刪除的緩存記錄數;
  Qcache_not_cached — 從查詢緩存中沒有找到對應緩存SQL語句的SELECT查詢語句數量;
  Qcache_queries_in_cache — 有多少查詢語句正緩存在查詢緩存中;
  3) MyISAM引擎
  Key_blocks_used — 索引緩存區內塊使用量,通過記錄歷史數據可以找出內存塊使用情況;
  Key_blocks_unused — 索引緩存區內存未使用的量,可以推斷出有索引緩存區的使用率;
  Key_read_requests — 直接通過索引緩存區獲得相應的數據,也即數據庫邏輯讀IO的量;
  Key_reads — 無法通過索引緩存區獲得相應的數據,必須讀文件系統或磁盤上的數據,也
  即數據庫物理讀的量;
  Key_write_requests —直接通過修改索引緩存區中的索引值的邏輯寫IO量;
  Key_writes — 無法通過直接修改索引緩存區中的索引值完成,必須直接修改文件系統或磁
  盤上數據的物理寫IO量;
  4) InnoDB引擎
  Innodb_buffer_pool_read_ahead_rnd — InnoDB引擎后臺讀線程隨機性讀而產生的IO數量,一般發生在掃描一個表數據,以隨機性的方式;
  Innodb_buffer_pool_read_ahead_seq — InnoDB引擎后臺讀線程順序讀而產生的IO數量,一般發生在順序全表掃描;
  Innodb_buffer_pool_read_requests — InnoDB引擎數據的邏輯讀IO量;
  Innodb_buffer_pool_reads — InnoDB引擎數據的物理讀IO量;
  Innodb_buffer_pool_wait_free — 當Innodb_buffer_pool中無可用的空閑內存塊,且需要讀或創建一個內存塊,則需要刷新一頁,再分配給需要的線程
  進行寫操作,這個時候就會發生等待而計數。因為InnoDB引擎表的數據都都是在InnoDB內存緩存區中進行讀寫操作,
  然后由后臺線程負責把數據寫到磁盤上。
  Innodb_buffer_pool_write_requests — InnoDB引擎數據寫向InnoDB_buffer_pool_size的邏輯寫IO量;
  Innodb_rows_deleted — InnoDB引擎表數據被刪除的行數;
  Innodb_rows_inserted — 向InnoDB引擎表增加的記錄行數;
  Innodb_rows_updated — InnoDB引擎表數據被修改的行數;
  Innodb_rows_read — 讀取InnoDB引擎表中數據的行數,UPDATE、DELETE、OPTIMIZE等會對數據表對象有數據讀取的操作,都被計算在其內;
  5) 事務相關
  Com_commit — 支持事務的引擎,進行的事務提交次數;
  Com_rollback — 支持事務的引擎,進行的事務回滾次數;
  6) 臨時表或文件
  Created_tmp_files — MySQL系統創建的臨時文件數量總和,不包含顯示創建的臨時表,另外臨時文件轉換成臨時表的話,則不一定一一對應,
  也不一定是三分之一的關系。若是系統隱患創建的臨時表,則都是MyISAM格式的,所以會有三個臨時文件;若是指定
  臨時表存儲引擎為heap,則是一個臨時文件;
  Created_tmp_disk_tables — MySQL系統創建基于磁盤上的臨時表數量,臨時默認創建都是基于內存中,若是超過tmp_table_size或
  max_heap_table_size的大小,則會轉化成基于磁盤的臨時表;
  Created_tmp_tables — MySQL系統創建的不管基于磁盤的,還是基于內存的,該值都增加;
  7) 其他
  Bytes_sent — MySQL服務器端發送給客戶端的字節數;
  Bytes_received — 所有客戶端發送給MySQL服務器端的字節數;
  Slow_queries — SQL語句執行時間大于long_query_time值的數量;
  Sort_range — SQL語句使用范圍排序的數量;
  Sort_rows — SQL語句引起數據排序的總行數;
  Sort_scan — 要進行數據排序而對表掃描的SQL執行次數;
  Aborted_connects — 客戶端異常崩潰而沒有正常關閉數據庫連接線程的數量;
  Connections — 客戶端嘗試與MySQL服務器端建立連接的次數,失敗的次數也算在其內;
  Uptime — mysqld服務進程運行的時長,單位秒;
  數據采集方式
  狀態性能數據的采集,不管用何辦法都是執行SHOW GLOBAL STATUS;然后再對需要的數據項,通過shell腳本的方式獲得;
  或者

雙擊代碼全選
1SELECT VARIABLE_NAME, VARIABLE_VALUE FROM information_schema. GLOBAL_STATUS WHERE VARIABLE_NAME IN (…);

  采集到的數據,我們還需要進行分類對待,一類數據項只為某個時間點的狀態值,另外一類數據項為累計的值

  數據展示分析
  針對腳本程序自動采集的數據,作部分數據截圖展示,以及把部分參數數據導成CVS格式,然后在Windows環境下繪制曲線圖的方式,以便直觀地對比分析,另外也可以自己開發一套程序或者借助其他繪圖工具的方式繪制趨勢圖。
   針對采集的數據,對部分參數(三個參數:Com_update、Innodb_buffer_pool_reads、 Innodb_buffer_pool_read_requests)做一個圖形化分析的效果展示,我們可以通過SQL語句生成cvs格式的數據,比如針 對Com_update數據每秒平均執行次數的數據導出SQL語句:

雙擊代碼全選
1 2 3 4 5 6SELECT M.CreateDate,M.total_num/N.total_num INTO OUTFILE 'com_update.cvs'FROM performance_innodb M INNER JOIN(SELECT total_num,CreateDate FROM performance_innodb WHERE statu_item='Uptime' AND CreateDate>='2011-10-12' AND CreateDate<'2011-10-13' AND host_port=3308) N ON M.CreateDate=N.CreateDate WHERE host_port=3308 and statu_item='Com_update' and M.CreateDate>='2011-10-12' AND M.CreateDate<'2011-10-13';

  1) Performance_innodb表數據

  2) Com_update數據曲線圖

  3) Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests曲線圖

  備注:
  MySQL數據庫在跑熱之后,且需要操作的業務數據基本都存儲在內存中,為此InnoDB引擎表的物理IO讀/每秒 相比InnoDB引擎表的邏輯IO讀/每秒非常小,為此曲線圖中看到幾乎接近水平軸。

到此,關于“采集MySQL數據庫運行狀態數據的方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛坪县| 兴隆县| 雷波县| 东源县| 高密市| 建阳市| 大新县| 河东区| 绥宁县| 柳河县| 泌阳县| 天水市| 六安市| 宾阳县| 曲松县| 和田市| 廊坊市| 沽源县| 康平县| 依兰县| 东城区| 清徐县| 商南县| 兴业县| 亳州市| 泾源县| 湘潭县| 大同市| 南江县| 长汀县| 从江县| 安龙县| 虎林市| 安新县| 禹州市| 延长县| 高邮市| 合作市| 关岭| 常熟市| 资阳市|