• MySQL數據庫服務器端核心參數詳解和推薦配置之三

    0
    MySQL HTML C/C++ Go 8834 次瀏覽
    MySQL手冊上也有服務器端參數的解釋,以及參數值的相關說明信息,現針對我們大家重點需要注意、需要修改或影響性能的服務器端參數,作其用處的 解釋和如何配置參數值的推薦,此事情拖了不少時間,為方便大家幫忙糾錯(注:總是斷斷續續寫的,可能存在筆誤),先以文章的方式發布到網站,后續確定沒問 題,將會通過新浪微博的微盤提供PPT下載,方便學習和參考。
    l  innodb_flush_log_at_trx_commit  AND  sync_binlog
    innodb_flush_log_at_trx_commit = N:
    N=0  – 每隔一秒,把事務日志緩存區的數據寫到日志文件中,以及把日志文件的數據刷新到磁盤上;
    N=1  – 每個事務提交時候,把事務日志從緩存區寫到日志文件中,并且刷新日志文件的數據到磁盤上;
    N=2  – 每事務提交的時候,把事務日志數據從緩存區寫到日志文件中;每隔一秒,刷新一次日志文件,但不一定刷新到磁盤上,而是取決于操作系統的調度;
    sync_binlog =  N:
    N>0  — 每向二進制日志文件寫入N條SQL或N個事務后,則把二進制日志文件的數據刷新到磁盤上;
    N=0  — 不主動刷新二進制日志文件的數據到磁盤上,而是由操作系統決定;
    推薦配置組合:
    N=1,1  — 適合數據安全性要求非常高,而且磁盤IO寫能力足夠支持業務,比如充值消費系統;
    N=1,0  — 適合數據安全性要求高,磁盤IO寫能力支持業務不富余,允許備庫落后或無復制;
    N=2,0或2,m(0<m<100)  — 適合數據安全性有要求,允許丟失一點事務日志,復制架構的延遲也能接受;
    N=0,0  — 磁盤IO寫能力有限,無復制或允許復制延遲稍微長點能接受,例如:日志性登記業務;
    l  innodb_file_per_table
    啟用單表空間,減少共享表空間維護成本,減少空閑磁盤空間釋放的壓力。另外,大數據量情況下 的性能,也會有性能上的提升,為此建議大家使用獨立表空間  代替  共享表空間的方式;
    l  key_buffer_size
     key_buffer_size只能緩存MyISAM或類MyISAM引擎的索引數據,而innodb_buffer_pool_size不僅能緩存索 引數據,還能緩存元數據,但是對于我們只使用InnoDB引擎的數據庫系統而言,此參數值也不能設置過于偏小,因為臨時表可能會使用到此鍵緩存區空間,索 引緩存區推薦:64M;
    l  query_cache_type  and query_cache_size
    n  query_cache_type=N
    N=0  —- 禁用查詢緩存的功能;
    N=1  —- 啟用產訊緩存的功能,緩存所有符合要求的查詢結果集,除SELECT SQL_NO_CACHE.., 以及不符合查詢緩存設置的結果集外;
    N=2  —- 僅僅緩存SELECT SQL_CACHE …子句的查詢結果集,除不符合查詢緩存設置的結果集外;
    n  query_cache_size
    查詢緩存設置多大才是合理?至少需要從四個維度考慮:
    ①   查詢緩存區對DDL和DML語句的性能影響;
    ②   查詢緩存區的內部維護成本;
    ③   查詢緩存區的命中率及內存使用率等綜合考慮
    ④   業務類型


    文章出處:http://www.mysqlops.com/2011/10/26/mysql-variable-third.html

    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色