• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • MySQL 性能優化

    發表于:2008-10-16來源:作者:點擊數: 標簽:MySqlMySQLMysqlmysqlmySQL
    關鍵字:MySQL 網站訪問量越來越大,MySQL自然成為瓶頸,因此最近我一直在研究 MySQL 的優化,第一步自然想到的是 MySQL 系統參數的優化,作為一個訪問量很大的網站(日20萬人次以上)的 數據庫 系統,不可能指望 MySQL 默認的系統參數能夠讓 MySQL運行得非
    關鍵字:MySQL

    網站訪問量越來越大,MySQL自然成為瓶頸,因此最近我一直在研究 MySQL 的優化,第一步自然想到的是 MySQL 系統參數的優化,作為一個訪問量很大的網站(日20萬人次以上)的數據庫系統,不可能指望 MySQL 默認的系統參數能夠讓 MySQL運行得非常順暢。

            通過在網絡上查找資料和自己的嘗試,我認為以下系統參數是比較關鍵的:

    (1)、back_log:
            要求 MySQL 能有的連接數量。當主要MySQL線程在一個很短時間內得到非常多的連接請求,這就起作用,然后主線程花些時間(盡管很短)檢查連接并且啟動一個新線程。
            back_log值指出在MySQL暫時停止回答新請求之前的短時間內多少個請求可以被存在堆棧中。只有如果期望在一個短時間內有很多連接,你需要增加它,換句話說,這值對到來的TCP/IP連接的偵聽隊列的大小。你的操作系統在這個隊列大小上有它自己的限制。 試圖設定back_log高于你的操作系統的限制將是無效的。
            當你觀察你的主機進程列表,發現大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待連接進程時,就要加大 back_log 的值了。默認數值是50,我把它改為500。

    (2)、interactive_timeout:
            服務器在關閉它前在一個交互連接上等待行動的秒數。一個交互的客戶被定義為對 mysql_real_connect()使用 CLIENT_INTERACTIVE 選項的客戶。 默認數值是28800,我把它改為7200。

    (3)、key_buffer_size:
            索引塊是緩沖的并且被所有的線程共享。key_buffer_size是用于索引塊的緩沖區大小,增加它可得到更好處理的索引(對所有讀和多重寫),到你能負擔得起那樣多。如果你使它太大,系統將開始換頁并且真的變慢了。默認數值是8388600(8M),我的MySQL主機有2GB內存,所以我把它改為402649088(400MB)。

    (4)、max_connections:
            允許的同時客戶的數量。增加該值增加 mysqld 要求的文件描述符的數量。這個數字應該增加,否則,你將經??吹?Too many connections 錯誤。 默認數值是100,我把它改為1024 。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>