這個問題并不是轉義方面的問題,不信的話可以使用\s的完整模式status試試:
公司主營業務:做網站、網站制作、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯推出東乃免費做網站回饋大家。
sql = 'status'
還是一樣會報錯,這是因為\s屬于mysql的系統命令,并不輸入sql語句的范疇,所有使用python的mysqldb模塊是獲得不到結果的。
這樣的話只能從python的os模塊執行系統命令方面入手了
import os
os.system("mysql -u root -e status")
--------------
mysql Ver 14.15 Distrib 6.0.11-alpha, for portbld-freebsd7.2 (i386) using 5.2
Connection id: 66
Current database:
Current user: root@localhost
...
...
或者
print os.popen("mysql -u root -e status").read()
--------------
mysql Ver 14.15 Distrib 6.0.11-alpha, for portbld-freebsd7.2 (i386) using 5.2
Connection id: 67
...
...
先用 top 命令查看一下 如下圖:
就看畫框的地方
load average 就是 CPU 的 Load
它表示 CPU 使用隊列的長度 這個數字越小越好
這里有一個誤區 那就是 CPU 利用率高 并不意味著負載就一定大
比方說有一個程序 它一直使用 CPU 進行運算 那么 CPU 的使用率可能逼近 100% 但是 CPU 的工作負載趨近于 1 如果同時執行兩個這樣的程序 則 CPU 的使用率還是逼近 100% 但是工作負載變成 2 了
也就是說 如果 CPU 的工作負載大 就代表 CPU 要在多個工作之間切換
系統mysql的進程數
查看 mysql buffer pool hit
ps -ef | grep "mysql" | grep -v "grep" | wc –l
2.Slave_running
mysql show status like 'Slave_running';
如果系統有一個從復***務器,這個值指明了從服務器的健康度
3.Threads_connected
mysql show status like 'Threads_connected';
當前客戶端已連接的數量。這個值會少于預設的值,但你也能監視到這個值較大,這可保證客戶端是處在活躍狀態。
4.Threads_running
mysql show status like 'Threads_running';
如果數據庫超負荷了,你將會得到一個正在(查詢的語句持續)增長的數值。這個值也可以少于預先設定的值。這個值在很短的時間內超過限定值是沒問題的。當Threads_running值超過預設值時并且該值在5秒內沒有回落時, 要同時監視其他的一些值。
5.Aborted_clients
mysql show status like 'Aborted_clients';
客戶端被異常中斷的數值,即連接到mysql服務器的客戶端沒有正常地斷開或關閉。對于一些應用程序是沒有影響的,但對于另一些應用程序可能你要跟蹤該值,因為異常中斷連接可能表明了一些應用程序有問題。
6.Questions
mysql show status like 'Questions';
每秒鐘獲得的查詢數量,也可以是全部查詢的數量,根據你輸入不同的命令會得到你想要的不同的值。
7.Handler_*
mysql show status like 'Handler_%';
如果你想監視底層(low-level)數據庫負載,這些值是值得去跟蹤的。
如果Handler_read_rnd_next值相對于你認為是正常值相差懸殊,可能會告訴你需要優化或索引出問題了。Handler_rollback表明事務被回滾的查詢數量。你可能想調查一下原因。
8.Opened_tables
mysql show status like 'Opened_tables';
表緩存沒有命中的數量。如果該值很大,你可能需要增加table_cache的數值。典型地,你可能想要這個值每秒打開的表數量少于1或2。
9.Select_full_join
mysql show status like 'Select_full_join';
沒有主鍵(key)聯合(Join)的執行。該值可能是零。這是捕獲開發錯誤的好方法,因為一些這樣的查詢可能降低系統的性能。
10.Select_scan
mysql show status like 'Select_scan';
執行全表搜索查詢的數量。在某些情況下是沒問題的,但占總查詢數量該比值應該是常量(即Select_scan/總查詢數量商應該是常數)。如果你發現該值持續增長,說明需要優化,缺乏必要的索引或其他問題。
11.Slow_queries
mysql show status like 'Slow_queries';
超過該值(--long-query-time)的查詢數量,或沒有使用索引查詢數量。對于全部查詢會有小的沖突。如果該值增長,表明系統有性能問題。
12.Threads_created
mysql show status like 'Threads_created';
該值應該是低的。較高的值可能意味著你需要增加thread_cache的數值,或你遇到了持續增加的連接,表明了潛在的問題。
13.客戶端連接進程數
shell mysqladmin processlist
mysql show processlist;
你可以通過使用其他的統計信息得到已連接線程數量和正在運行線程的數量,檢查正在運行的查詢花了多長時間是一個好主意。如果有一些長時間的查詢,管理員可以被通知。你可能也想了解多少個查詢是在"Locked"的狀態—---該值作為正在運行的查詢不被計算在內而是作為非活躍的。一個用戶正在等待一個數據庫響應。
14.innodb狀態
mysql show engine innodb status\G;
該語句產生很多信息,從中你可以得到你感興趣的。首先你要檢查的就是“從最近的XX秒計算出來的每秒的平均負載”。
(1)Pending normal aio reads:?該值是innodb io請求查詢的大小(size)。如果該值大到超過了10—20,你可能有一些瓶頸。
(2)reads/s, avg bytes/read, writes/s, fsyncs/s:這些值是io統計。對于reads/writes大值意味著io子系統正在被裝載。適當的值取決于你系統的配置。
(3)Buffer pool hit rate:這個命中率非常依賴于你的應用程序。當你覺得有問題時請檢查你的命中率
(4)inserts/s, updates/s, deletes/s, reads/s:有一些Innodb的底層操作。你可以用這些值檢查你的負載情況查看是否是期待的數值范圍。
mysql中cpu負載很高,是什么原因
1、確定高負載的類型 htop,dstat命令看負載高是CPU還是IO
看具體是哪個用戶哪個進程占用了相關系統資源,當前CPU、內存誰在使用
2、監控具體的sql語句,是insert update 還是 delete導致高負載
抓取mysql包分析,一般抓3306端口的數據 看出最繁忙的sql語句了
3、檢查mysql日志
分析mysql慢日志,查看哪些sql語句最耗時
檢查mysql配置參數是否有問題,引起大量的IO或者高CPU操作
innodb_flush_log_at_trx_commit 、innodb_buffer_pool_size 、key_buffer_size 等重要參數
4、檢查硬件問題
網站題目:mysql負載怎么看 mysql 負載查看
URL網址:http://m.kartarina.com/article40/dogideo.html
成都網站建設公司_創新互聯,為您提供靜態網站、虛擬主機、網站制作、用戶體驗、網站策劃、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯