首頁 資料庫 mysql教程 Mysql記憶體參數優化

Mysql記憶體參數優化

Dec 16, 2016 am 10:59 AM

1、  Key buffer

A、參數key_buffer_size只對myisam引擎的表起作用;

B、 它決定索引處理的速度,尤其是索引讀的速度;

C、評估這個參數是否設定合理可以檢查兩個狀態值show status like '%key_read%';

D、 Key_read_requests代表總的請求數,key_reads代表讀取磁碟數;

E、  key_reads / key_read_requests應該盡可能的低,至少1:100,至少1:100, 1:1000比較好;

F、  另外一個估計key_buffer_size的辦法把你資料庫的每個表的索引所佔空間大小加起來看看。

2、  Query cache

A、 query cache主要是將SELECT語句和查詢結果存放在該緩衝區;

B、參數query_cache_size 的設定合理性可以檢查db的狀態:show status like '%qcache%'

C、參數query_cache_type指定是否使用查詢緩衝;

D、      設定參數:    :

Qcache queries in cache 12737 表示目前快取的條數

Qcache inserts 20649006

Qcache hits 79060095  unes 617913㟎

Qcache lowmem PR Naches 617913〜

Qcache lowmem PR 617913]d  

Qcache free memory 18573912  目前剩餘快取空間

Qcache free blocks 5328 這個數字似乎有點大碎片不少

Qcache free blocks 5328 這個數字似乎有點大碎片不少

Qcache total blocks 30953

F、  結果顯示:query cache值需要設定的更大;

F、  結果顯示:query cache值需要設定的更大;

F、  結果顯示:query cache值需要設定的更大; ,則表示緩衝區中碎片很多

H、 Qcache_lowmem_prunes的值非常大,則表示經常出現緩衝不夠的情況,同時Qcache_hits的值非常大,則表示查詢緩衝使用非常頻繁,此時需要增加緩衝大小Qcache_hits的值不大,表示你的查詢重複率很低,這種情況下使用查詢緩衝反而會影響效率,那麼可以考慮不用查詢緩衝。此外,在SELECT語句中加入SQL_NO_CACHE可以明確表示不使用查詢緩衝。

3、  Table cache

A、 table_cache指定表快取的大小;

B、 每當MySQL存取一個表格時,如果在表格緩衝區中還有空間,該表就被開啟並放入其中,這樣可以更快存取表格內容;

C、 檢查峰值時間的狀態值Open_tables和Opened_tables,可以決定是否需要增加table_cache的值。如果你發現open_tables等於table_cache,而且opened_tables在不斷成長,那麼你就需要增加table_cache的值了;

D、 注意,不能盲目地把table_cache設定成很大的值。如果設定太高,可能會造成檔案描述符不足,從而造成效能不穩定或連線失敗。

4、  Innodb buffer

A、 innodb_buffer_pool_size - 這對Innodb表來說非常重要。 Innodb相比MyISAM表對緩衝更為敏感。 MyISAM可以在預設的 key_buffer_size 設定下運作的可以,然而Innodb在預設的 innodb_buffer_pool_size 設定下卻跟蝸牛似的。

B、 由於Innodb把資料和索引都快取起來,無需留給作業系統太多的MySQL資料庫內存,因此如果只需要用Innodb的話則可以設定它高達 70-80% 的可用記憶體。

C、 如果你的資料量不大,而且不會暴增,那麼無需把 innodb_buffer_pool_size 設定的太大了。

D、 innodb_log_file_size 在高寫入負載尤其是大資料集的情況下很重要。這個值越大則效能相對越高,但是要注意到可能會增加恢復時間。我經常設定為 64-512MB,跟據伺服器大小而異。 innodb_log_buffer_size 預設的設定在中等強度寫入負載以及較短交易的情況下,伺服器效能還可以。

E、  innodb_flush_logs_at_trx_commit 是否為Innodb比MyISAM慢1000倍而頭大?看來也許你忘了修改這個參數了。預設值是 1,這表示每次提交的更新事務(或每個事務以外的語句)都會刷新到磁碟中,而這相當耗費資源,尤其是沒有電池備用快取時。很多應用程序,尤其是從 MyISAM轉變過來的那些,把它的值設為 2 就可以了,也就是不把日誌刷新到磁碟上,而只刷新到作業系統的快取上。日誌仍然會每秒刷新到磁碟中去,因此通常不會遺失每秒1-2次更新的消耗。如果設定為 0 就快很多了,不過也相對不安全了。 MySQL伺服器崩潰時就會遺失一些交易。設定為 2 指揮遺失刷新到作業系統快取的那部分事務。

 以上就是Mysql記憶體參數最佳化的內容,更多相關文章請關注PHP中文網(www.php.cn)!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP 的大數據結構處理技巧 PHP 的大數據結構處理技巧 May 08, 2024 am 10:24 AM

PHP 的大數據結構處理技巧

如何優化 PHP 中的 MySQL 查詢效能? 如何優化 PHP 中的 MySQL 查詢效能? Jun 03, 2024 pm 08:11 PM

如何優化 PHP 中的 MySQL 查詢效能?

如何在 PHP 中使用 MySQL 備份和還原? 如何在 PHP 中使用 MySQL 備份和還原? Jun 03, 2024 pm 12:19 PM

如何在 PHP 中使用 MySQL 備份和還原?

如何使用 PHP 插入資料到 MySQL 表? 如何使用 PHP 插入資料到 MySQL 表? Jun 02, 2024 pm 02:26 PM

如何使用 PHP 插入資料到 MySQL 表?

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 Dec 09, 2024 am 11:42 AM

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤

如何在 PHP 中使用 MySQL 預存程序? 如何在 PHP 中使用 MySQL 預存程序? Jun 02, 2024 pm 02:13 PM

如何在 PHP 中使用 MySQL 預存程序?

如何使用 PHP 建立 MySQL 表? 如何使用 PHP 建立 MySQL 表? Jun 04, 2024 pm 01:57 PM

如何使用 PHP 建立 MySQL 表?

oracle資料庫和mysql的區別 oracle資料庫和mysql的區別 May 10, 2024 am 01:54 AM

oracle資料庫和mysql的區別

See all articles