久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL中如何優化4G內存服務器配置

137次閱讀
沒有評論

共計 2824 個字符,預計需要花費 8 分鐘才能閱讀完成。

這篇文章主要介紹了 MySQL 中如何優化 4G 內存服務器配置,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

公司網站訪問量越來越大(日均超 10 萬 PV),MySQL 自然成為瓶頸,關于 MySQL 的優化,最基本的是 MySQL 系統參數的優化。MySQL 對于 web 架構性能的影響最大,也是關鍵的核心部分。下面我們了解一下 MySQL 優化的一些基礎,MySQL 自身 (my.cnf) 的優化。

MySQL 對于 web 架構性能的影響最大,也是關鍵的核心部分。MySQL 的設置是否合理優化,直接影響到 web 的速度和承載量!同時,MySQL 也是優化難度最大的一個部分,不但需要理解一些 MySQL 專業知識,同時還需要長時間的觀察統計并且根據經驗進行判斷,然后設置合理的參數。下面我們了解一下 MySQL 優化的一些基礎,MySQL 自身 (my.cnf) 的優化。

我們介紹一些對性能影響較大的參數。由于 my.cnf 文件的優化設置是與服務器硬件配置息息相關的,因而我們指定一個常見 2U 的服務器硬件環境:CPU: 2 顆 Intel Xeon 2.4GHz 內存: 4GB DDR 硬盤: SCSI。

下面,我們根據以上硬件配置結合一份已經優化好的 my.cnf 進行說明:

[mysqld] 
 port = 3306 
 serverid = 1 
 socket = /tmp/mysql.sock 
 skip-locking 
#避免 MySQL 的外部鎖定,減少出錯幾率增強穩定性。 
skip-name-resolve 
#禁止 MySQL 對外部連接進行 DNS 解析,使用這一選項可以消除 MySQL 進行 DNS 解析的時間。但需要注意,如果開啟該選項,則所有遠程主機連接授權都要使用 IP 地址方式,否則 MySQL 將無法正常處理連接請求!back_log = 384 
#back_log 參數的值指出在 MySQL 暫時停止響應新請求之前的短時間內多少個請求可以被存在堆棧中。  如果系統在一個短時間內有很多連接,則需要增大該參數的值,該參數值指定到來的 TCP/IP 連接的偵聽隊列的大小。不同的操作系統在這個隊列大小上有它自己的限制。  試圖設定 back_log 高于你的操作系統的限制將是無效的。默認值為 50。對于 Linux 系統推薦設置為小于 512 的整數。key_buffer_size = 256M 
#key_buffer_size 指定用于索引的緩沖區大小,增加它可得到更好的索引處理性能。對于內存在 4GB 左右的服務器該參數可設置為 256M 或 384M。注意:該參數值設置的過大反而會是服務器整體效率降低!max_allowed_packet = 4M 
 thread_stack = 256K 
 table_cache = 128K 
 sort_buffer_size = 6M 
#查詢排序時所能使用的緩沖區大小。注意:該參數對應的分配內存是每連接獨占,如果有 100 個連接,那么實際分配的總共排序緩沖區大小為 100 × 6 = 600MB。所以,對于內存在 4GB 左右的服務器推薦設置為 6 -8M。read_buffer_size = 4M 
#讀查詢操作所能使用的緩沖區大小。和 sort_buffer_size 一樣,該參數對應的分配內存也是每連接獨享。join_buffer_size = 8M 
#聯合查詢操作所能使用的緩沖區大小,和 sort_buffer_size 一樣,該參數對應的分配內存也是每連接獨享。myisam_sort_buffer_size = 64M 
 table_cache = 512 
 thread_cache_size = 64 
 query_cache_size = 64M 
#指定 MySQL 查詢緩沖區的大小??梢酝ㄟ^在 MySQL 控制臺觀察,如果 Qcache_lowmem_prunes 的值非常大,則表明經常出現緩沖不夠的情況;如果 Qcache_hits 的值非常大,則表明查詢緩沖使用非常頻繁,如果該值較小反而會影響效率,那么可以考慮不用查詢緩沖;Qcache_free_blocks,如果該值非常大,則表明緩沖區中碎片很多。tmp_table_size = 256M 
 max_connections = 768 
#指定 MySQL 允許的最大連接進程數。如果在訪問論壇時經常出現 Too Many Connections 的錯誤提   示,則需要增大該參數值。max_connect_errors = 10000000 
 wait_timeout = 10 
#指定一個請求的最大連接時間,對于 4GB 左右內存的服務器可以設置為 5 -10。 
thread_concurrency = 8 
#該參數取值為服務器邏輯 CPU 數量 *2,在本例中,服務器有 2 顆物理 CPU,而每顆物理 CPU 又支持 H.T 超線程,所以實際取值為 4 *2=8
 skip-networking 
#開啟該選項可以徹底關閉 MySQL 的 TCP/IP 連接方式,如果 WEB 服務器是以遠程連接的方式訪問 MySQL 數據庫服務器則不要開啟該選項!否則將無法正常連接!table_cache=1024 
#物理內存越大, 設置就越大. 默認為 2402, 調到 512-1024 最佳  
innodb_additional_mem_pool_size=4M 
#默認為 2M 
 innodb_flush_log_at_trx_commit=1 
#設置為 0 就是等到 innodb_log_buffer_size 列隊滿后再統一儲存, 默認為 1  
 innodb_log_buffer_size=2M 
#默認為 1M 
 innodb_thread_concurrency=8 
#你的服務器 CPU 有幾個就設置為幾, 建議用默認一般為 8  
 key_buffer_size=256M 
#默認為 218,調到 128 最佳  
tmp_table_size=64M 
#默認為 16M,調到 64-256 最掛  
read_buffer_size=4M 
#默認為 64K 
 read_rnd_buffer_size=16M 
#默認為 256K 
 sort_buffer_size=32M 
#默認為 256K 
 thread_cache_size=120 
#默認為 60 
 query_cache_size=32M

注意:

一、如果 Key_reads 太大,則應該把 my.cnf 中 Key_buffer_size 變大,保持 Key_reads/Key_read_requests 至少 1 /100 以上,越小越好。

二、如果 Qcache_lowmem_prunes 很大,就要增加 Query_cache_size 的值。

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“MySQL 中如何優化 4G 內存服務器配置”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-28發表,共計2824字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 双江| 保亭| 泗洪县| 华容县| 林周县| 佛坪县| 沿河| 高阳县| 珠海市| 平江县| 澜沧| 囊谦县| 淮阳县| 井冈山市| 木兰县| 太仆寺旗| 瓦房店市| 罗平县| 泌阳县| 麻江县| 都江堰市| 商河县| 乡城县| 运城市| 莱西市| 东兴市| 鹤峰县| 泾川县| 珲春市| 平果县| 金塔县| 江口县| 峨边| 南丹县| 罗定市| 乐山市| 洛阳市| 叙永县| 修武县| 盐池县| 卢氏县|