MySQL 配置自旋鎖輪詢
配置自旋鎖輪詢
很多InnoDB的互斥鎖和rw-lock會被預留一段時間。在多核系統上,執行緒在睡覺前持續檢查它是否可以獲得互斥鎖或rw-lock,這樣會更有效率。如果互斥鎖或rw-lock在此輪詢期間可用,執行緒可以立即在同一時間片中繼續執行。然而,由共享物件的多個執行緒進行過於頻繁的輪詢會導致快取乒乓現象,不同的處理器會使彼此快取的部分失效。InnoDB透過在兩次輪詢之間隨機等待時間來最小化這個問題。延遲被實現為一個忙碌的迴圈。
您可以使用引數innodb_spin_wait_delay來控制測試互斥鎖或rw-lock之間的最大延遲。延遲迴圈的持續時間取決於C編譯器和目標處理器。(在100MHz奔騰時代,延遲單位是一微秒。)在所有處理器核心共享快取記憶體記憶體的系統中,可以透過設定innodb_spin_wait_delay=0來減少最大延遲或禁用繁忙迴圈。在具有多個處理器晶片的系統上,快取失效的影響可能更加顯著,您可能會增加最大延遲。
innodb_spin_wait_delay預設值為6。自旋等待延遲是一個動態的、全域性的引數,你可以在MySQL選項檔案(my.cnf或my.ini)中指定,或者在執行時使用SET global innodb_spin_wait_delay=delay命令來更改,其中delay是所需的最大延遲。更改設定需要超級許可權。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2886313/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自旋鎖spinlock
- Linux核心自旋鎖Linux
- mysql鎖表查詢MySql
- 使用logrotate配置日誌輪詢logrotate
- C 語言的 互斥鎖、自旋鎖、原子操作
- LiteOS:SpinLock自旋鎖及LockDep死鎖檢測
- Linux核心自旋鎖使用筆記Linux筆記
- java 中的鎖 -- 偏向鎖、輕量級鎖、自旋鎖、重量級鎖Java
- 執行緒安全: 互斥鎖和自旋鎖(10種)執行緒
- AQS學習(一)自旋鎖原理介紹(為什麼AQS底層使用自旋鎖佇列?)AQS佇列
- 同步篇——臨界區與自旋鎖
- 輕鬆搞懂Java中的自旋鎖Java
- 淺談自旋鎖和 JVM 對鎖的最佳化JVM
- 從自旋鎖、睡眠鎖、讀寫鎖到 Linux RCU 機制講解Linux
- java中如何實現可重入的自旋鎖Java
- MySQL鎖表相關問題查詢思路MySql
- mysql慢查詢,死鎖解決方案MySql
- Java 中15種鎖的介紹:公平鎖,可重入鎖,獨享鎖,互斥鎖,樂觀鎖,分段鎖,自旋鎖等等Java
- 記一次 "排它鎖" 和 "自旋鎖" 的簡單實現
- Java併發程式設計——深入理解自旋鎖Java程式設計
- 使用Rust為RISC-V OS 實現自旋鎖Rust
- 我們常說的 CAS 自旋鎖是什麼
- 多執行緒的這些鎖知道嗎?手寫一個自旋鎖?執行緒
- 面試官:你說說互斥鎖、自旋鎖、讀寫鎖、悲觀鎖、樂觀鎖的應用場景面試
- 一句話擼完重量級鎖、自旋鎖、輕量級鎖、偏向鎖、悲觀、樂觀鎖等各種鎖
- 自旋鎖、阻塞鎖、可重入鎖、悲觀鎖、樂觀鎖、讀寫鎖、偏向所、輕量級鎖、重量級鎖、鎖膨脹、物件鎖和類鎖物件
- Synchronized 輕量級鎖會自旋?好像並不是這樣的。synchronized
- 使用輪詢&長輪詢實現網頁聊天室網頁
- 一文看懂臨界區、互斥鎖、同步鎖、臨界區、訊號量、自旋鎖等名詞!
- mysql鎖之死鎖MySql
- 在國產處理器伺服器上配置DNS 輪詢伺服器DNS
- oracle 查詢鎖 && 解鎖Oracle
- Oracle查詢鎖、解鎖Oracle
- OpenCV 查詢輪廓OpenCV
- ajax實現輪詢
- [Mysql]鎖MySql
- mysql 鎖MySql
- MySQL鎖MySql