Percona XtraDb 針對oracle 版mysql 的增強

babyyellow發表於2013-01-15
根據文件整理了一下,寫在這裡了。 

userstat    統計客戶端效能問題   
       
        information_schema.client_statistics

        information_schema.index_statistics

        INFORMATION_SCHEMA.THREAD_STATISTICS  涉及引數  thread_statistics

        INFORMATION_SCHEMA.USER_STATISTICS   統計到那個使用者引起的大負載,估算伺服器容量

        提供了一些額外的名利用來重新整理這些效能檢視:

        flush  table_name  (上面的table)


        show   user_statistics |thread_statistics |...


innodb_lazy_drop_table  對錶的刪除延後執行bufferpool 的清理工作,  innodb_file_per_table =1
            正常情況下,執行力drop table後,db會掃描所有的bufferpool 對應於某個表空間所有的記憶體頁
            會被清除,如果bufferpool 設定很大,會很浪費時間,並且在掃描期間,是不能處理查詢的。
            設定這個引數,會標記這些記憶體塊為與資料檔案一致,然後只有在系統查詢新的空閒記憶體的塊的時候,
            才會重用這些資料頁。 提升效能。



innodb_doublewrite_file   設定單獨的double-write buffer 資料檔案,最好是設定在單獨的磁碟上,或者ssd盤。

              double-write 有一定的效能損失,主要應對資料安全。


query_cache_strip_comments    在query cache 查詢結果的時候,忽略sql 語句的中的註釋(comment)
                這樣可以提高命中率。



innodb_overwrite_relay_log_info:  percona server 提供了主從複製的恢復機制,如果複製過程中當機了,在日誌檔案裡會列印已經恢復到日誌點,
                    會覆蓋掉slave-rely.info檔案的內容。
                     slave 機器直接從日誌中的日誌點啟動slave 就可以,如果相應的日誌還存在,則不需要重新搭建備機。


innodb_recovery_update_relay_log     功能同上,增強的複製功能。


innodb_corrupt_table_action       innodb表有時候會損壞,一般情況向,如果遭遇到一個資料庫表損壞,那麼mysql 會導致自殺,系統崩潰,
                設定這個引數,如果設定了innodb_file_per_table  ,那麼percona 會報警,然後會忽略掉針對這個表的io操作。

或者設定為資料庫崩潰。



針對NUMA 的增強:   建議同事設定這3個引數。

innodb_buffer_pool_populate    預先分配記憶體。mysql啟動時候,即根據引數分配完記憶體。

 flush_caches            啟動mysql 的時候執行flush cache 清空cache ,便於為上一個引數的預分配記憶體配合到NUMA


numa_interleave=all            mysql 的記憶體分配策略使用interleave=all 策略。 







命令:
SHOW SLAVE STATUS NOLOCK 
                mysql 如果在slave 上正在執行一個長事務,這個時候,如果我們執行stop slave ,會導致stop slave 命令等待很

長時間才能執行

                而如果恰巧這個時候,你開了另一個客戶端,執行下show salve status ,那就更悲催了,主要原因是因為mysql 在

複製裡使用了一個全域性鎖。
               
                percona server 增強了這個命令,加上show slave status nolock 命令,這個命令不需要等待鎖的獲得,可以直接

返回,
                但是返回的slave 的狀態資訊與 show slave status 拿到全域性鎖後顯示的資訊有稍許不一致。大不影響判斷。



innodb_recovery_stats     這個引數的設定,會強制 xtradb 在資料庫啟動的時候執行資料庫恢復,相關的資訊會寫在errlog中。




innodb_dict_size_limit    限制innodb 資料字典的尺寸, mysql 中表一旦開啟是,就會佔用資料字典的尺寸,對於很多表的資料庫,
            資料字典的尺寸會很龐大,設定引數會限制資料字典的大小,當無法容納新的資料時,會採用LRU的策略清理字典空間

            配套的一個狀態引數: innodb_dict_tables  ;








       

       





 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-752688/,如需轉載,請註明出處,否則將追究法律責任。

相關文章