2012-04-05 215 views
0

我已經觸發了一個命令SHOW ENGINE INNODB STATUS;在mysql中用於檢測緩慢響應,以下是Semaphore的堆棧跟蹤,但由於我是新手,因此無法計算出統計信息,請讓我知道我們是否可以跟蹤它。響應速度慢MySql

SEMAPHORES 
---------- 
OS WAIT ARRAY INFO: reservation count 22124, signal count 103334 
Mutex spin waits 2140674, rounds 1742014, OS waits 8304 
RW-shared spins 24931, OS waits 4171; RW-excl spins 1775, OS waits 8282 
Spin rounds per wait: 0.81 mutex, 10.20 RW-shared, 210.67 RW-excl 
+2

這可能更適合DBA站點嗎?這對我來說並不是一個編程問題。此外,你可能想回到你的舊問題,並跟進他們。接受你已經使用的答案,給予有用答案的積分,添加你自己的解決方案等。 – Nanne 2012-04-05 09:24:41

回答

0

看一看MySQL documentation for InnoDB Monitors。它說:

這[SEMAPHORES]部分報告線程在等待一個信號量和統計 線程多少次需要旋轉或互斥等待或 RW鎖定信號。大量線程等待信號量 可能是磁盤I/O或InnoDB內部爭用問題的結果。 爭用可能是由於查詢的嚴重並行或操作系統線程調度的 問題。

+0

我已經看過文檔,但是我擔心它顯示的統計數據是否真的引起緩慢? – 2012-04-05 11:58:19

+0

很難說..統計數據永遠不會引起緩慢,他們只是表明可能存在問題。嘗試遵循MySQL專家的提示,例如O'Reilly Boook的「高性能MySQL」1.通過基準測試,分析和檢查慢速查詢日誌來發現潛在的瓶頸。 2.嘗試優化數據庫shema和index 3.嘗試通過以最快的方式僅檢索所需的數據來優化查詢的性能。 – 0x4a6f4672 2012-04-05 14:10:42