1. 程式人生 > >MySQL連線資源佔用與狀態分析(v1)

MySQL連線資源佔用與狀態分析(v1)

  1 怎麼檢視連線資訊 MySQL一個連線就是執行緒。 檢視連線狀態: mysql> show status; Threads_cached           | 0     | | Threads_connected        | 1     |              //正在連線的連線數 | Threads_created          | 3     |              //已經建立過的連線數 | Threads_running          | 1     |              //正在執行的連線數 | Uptime                   | 22947 |
檢視連線引數: mysql> show variables; | max_connections                 | 16384       //允許的最大連線數 檢視連線執行緒狀態: mysql> show processlist; +----+-----------+-----------+------+---------+------+-------+------------------+ | Id | User      | Host      | db   | Command | Time | State | Info             | +----+-----------+-----------+------+---------+------+-------+------------------+ | 3 | denny | localhost | NULL | Query   |    0 | NULL | show processlist |
+----+-----------+-----------+------+---------+------+-------+------------------+ 1 row in set (0.00 sec) 2 連線資源的分配 key_buffer_size指定用於索引的緩衝區大小,增加它可得到更好的索引處理效能。read_buffer_size = 4M 讀查詢操作所能使用的緩衝區大小。 join_buffer_size = 8M 聯合查詢操作所能使用的緩衝區大小. sort_buffer_size     注意:每個連線使用具體執行緒的空間, 下面引數每個連線獨佔: 堆疊(預設64KB,變數thread_stack) 連線快取區(變數net_buffer_length) 結果快取區(變數net_buffer_length) 接快取區和結果快取區可以根據需要動態擴充到max_allowed_packet。 max_allowed_packet = 4M 如果有100個連線,那麼實際分配的總共排序緩衝區大小為100 × 6 = 600MB。 對於每個開啟的MyISAM表,索引檔案開啟一次;資料檔案為每個並行執行的執行緒開啟一次。對於每個並行執行緒,將分配一個表結構、一個每個列的列結構和大小為3 * N
的快取區(其中N是最大行的長度,而不是計算BLOB列)。一個BLOB列需要5至8個位元組加上BLOB資料的長度。MyISAM 儲存引擎維護一個額外的行快取區供內部應用。 當並行執行的執行緒結束時,FLUSH TABLE語句或mysqladmin flush-table命令可以立即關閉所有不使用的表並將所有使用中的表標記為已經關閉。這樣可以有效釋放大多數使用中的記憶體。FLUSH TABLE在關閉所有表之前不返回結果。 記憶體使用下面的加起來不要超過2G:(一些系統對檔案大小的限制,一個表就是一個檔案) innodb_buffer_pool_size + key_buffer_size + max_connections * (sort_buffer_size + read_buffer_size + binlog_cache_size) + max_connections * 2MB    //thread stack

相關推薦

MySQL連線資源佔用狀態分析(v1)

  1 怎麼檢視連線資訊 MySQL一個連線就是執行緒。 檢視連線狀態: mysql> show status; Threads_cached           | 0     | | Threads_connected        | 1     |       

多執行緒時的資料庫連線資源佔用問題

MICROSOFTSPEECHPLATFORM11WITHOUTTHEMOSTIMPORTANTDLLMICROSOFTSPEECHPLATFORM11WITHOUTTHEMOSTIMPORTANTDLLMICROSOFTSPEECHPLATFORM11WITHOUTTHEM

Mysql Join語法解析效能分析

table1:左表;table2:右表。 JOIN 按照功能大致分為如下三類: INNER JOIN(內連線,或等值連線):取得兩個表中存在連線匹配關係的記錄。 LEFT JOIN(左連線):取得左表(table1)完全記錄,即是右表(table2)並無對應匹配記錄

mysql profiling的使用sql分析

mysql在5.0.3版本之後添加了profiling來進行效能分析 首先進入資料庫 show profiles; mysql預設是關閉的,也就是OFF 需要設定成1開啟,也就是ON,注意設定以後退出視窗之後會還原,要永久生效貌似需要重啟mysql才行 檢視是否開啟

Java Mysql連線池配置和案例分析--超時異常和處理

前言:   最近在開發服務的時候, 發現服務只要一段時間不用, 下次首次訪問總是失敗. 該問題影響雖不大, 但終究影響使用者體驗. 觀察日誌後發現, mysql連線因長時間空閒而被關閉, 使用時沒有死鏈檢測機制, 導致sql執行失敗.   問題的表層根源, 看似簡單, 但實際解決之路, 卻顯得有些曲折坎坷

mysql狀態分析之show global status

其中 正在 中一 未使用 更多 同事 排序 eat 配置文件 公司的nagios監控服務器長期對內網用MySQL數據庫發出ctritical報警,因為我將其他同事的手機短信報警也開通了,搞得整個系統組的同事都怨聲載道(呵呵)這時候就需要根據其status對其Mysql數據庫

mysql體系結構理解分析

interface storage 編程語言 數據庫 結構圖 接觸mysql有一年多了,但是始終是一個偶爾用用的狀態,對其原理性的東西研究不夠,在不少mysql相關的暑假中提到mysql體系結構,很清楚解析了mysql的各個模塊分層和主要功能特性,在理解此功能特性後,會剛好的幫助我

MySQL日誌文件分析

column nbsp 去重 ref bin pri fin n) 比較 1.查詢日誌、慢查詢日誌、二進制日誌對比 查詢日誌 general_log 會記錄用戶的所有操作,其中包含增刪查改等 可以指定輸出為表 慢查詢日誌 slow_log 只要超過定義時間的

Mysql Join語法解析性能分析

overflow ade 交叉 避免 -i str 用法 模擬 多個 一.Join語法概述 join 用於多表中字段之間的聯系,語法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona table1:左

MySQL優化(5):索引失效分析、inexists使用場合

有一個 來替 null 決定 index idt class 分布 family 一、索引失效的情況   前文提及過可以通過explain的possible_keys、key屬性判斷索引是否失效,key如果為null,可能是索引沒建,也可能是索引失效,下面列舉一些會使索引失

mysql狀態分析之show global status(轉)

http 運行 global 系統性能 數據量 -- ror 必須 request mysql> show global status;可以列出MySQL服務器運行各種狀態值,我個人較喜歡的用法是show status like ‘查詢值%‘;一、慢查詢mysql&g

(轉)MySQL join語法解析性能分析

避免 com 驅動 color del pre esc 分析 自動 文章轉載的:http://www.cnblogs.com/BeginMan/p/3754322.html 一、join語法概述   join用於多表中字段之間的聯系,語法如下: ... FROM tabl

MySQL服務器 IO 100%的分析優化方案

文件 %u mysq 希望 影響 前言 文章 興趣 排查 前言 壓力測試過程中,如果因為資源使用瓶頸等問題引發最直接性能問題是業務交易響應時間偏大,TPS逐漸降低等。而問題定位分析通常情況下,最優先排查的是監控服務器資源利用率,例如先用TOP 或者nmon等查看CPU、內存

Netty新連線接入NioSocketChannel分析

原文連結:wangwei.one/posts/netty… 前面的一些章節,我們分析了Netty的三大元件 —— Channel 、EventLoop、Pipeline ,對Netty的工作原理有了深入的瞭解。在此基礎上,我們來分析一下當Netty服務端啟動後,Netty是如何處理新連線接入的。

【轉】【MySQLMySQL的併發控制加鎖分析

https://www.cnblogs.com/yelbosh/p/5813865.html  本文主要是針對MySQL/InnoDB的併發控制和加鎖技術做一個比較深入的剖析,並且對其中涉及到的重要的概念,如多版本併發控制(MVCC),髒讀(dirty read),幻讀(phantom read

連線join查詢where後使用子查詢的效能分析

宣告:本文摘自https://www.cnblogs.com/cdf-opensource-007/p/6540521.html 子查詢就是在一條查詢語句中還有其它的查詢語句,主查詢得到的結果依賴於子查詢的結果。 子查詢的子語句可以在一條sql語句的FROM,JOIN,和WHERE後面,本文主要針對在WH

JavaMySQL連線的工具類JDBCUTils

幾種JDBCUtils 第一種 public class JDBCUtils { public static String driver; public static String url; public static String user;

PHP連線Mysql常用API(mysql,mysqli,pdo)區別聯絡

什麼是API? 一個應用程式介面(Application Programming Interface的縮寫),定義了類,方法,函式,變數等等一切 你的應用程式中為了完成特定任務而需要呼叫的內容。在PHP應用程式需要和資料庫進行互動的時候所需要的API 通常是通過PHP擴充套件暴露出來(給終端PH

C/C++中各種 資料型別、結構體、類 佔用位元組數分析總結

一、基本資料型別在不同編譯器下佔用位元組數比較與總結,測試過程不詳述了,直接看下錶結論! 下表中右側總結部分是依據佔用位元組數進行著色,同一種顏色型別的資料成員佔用位元組數要麼一致,要麼具有同樣的性質,這樣比較容易理解的記憶。 佔用位元組數

關於MySQL連線丟擲Authentication Failed錯誤分析

【問題描述】 在應用端,偶爾看到有如下報錯: Authentication to host 'xxxx' for user 'yyyy' using method 'mysql_native_password' failed with message: Reading from the stream has