亚洲精品日韩欧美_欧美二区乱c少妇_中文字幕日韩在线播放_日韩不卡中文字幕

English |
  • 美國VPS主機推薦
  • |
  • 代購服務
  • |
  • 10美元以下VPS
  • |
  • VPS新手指南/教程
  • |
  • 留言板
  • |
  • 關于
  • | 登錄 |

    VPS主機上MySQL數據庫的優化

    2009年04月18日 下午 | 作者:VPS偵探

    概述:在linux vps主機上配置mysql數據庫,由于默認使用yum安裝的數據庫啟動了InnoDB引擎,同時其/etc/my.cnf配置都我們的vps主機不是很適合,本文詳細講解如何配置適合自己vps主機的mysql配置文件

    目的:優化vps主機上的mysql數據庫,使之更合適vps主機這樣的環境

    query_cache_size = 268435456
    query_cache_type=1
    query_cache_limit=1048576

    查看mysql-server靜態參數值命令
    mysql>show variables;
    或者mysqladmin -uroot variables
    mysql服務器的參數很多,如果需要了解某個參數的詳細定義,可以使用mysqld –verbose –help | more
    查看mysql-server動態狀態信息命令

    mysql>show status;

    或者mysqladmin -uroot status
    其中show status分為show [session|global]status;可以根據需要加上參數“session”或者”global”來顯示session級(當前統計)的統計結果和global級(自數據庫上次啟動至今)的統計結果,如果不寫,默認為”session”

    1、查看和修改默認的存儲引擎,關閉不需要的存儲引擎
    在我們使用vps主機過程中,很多用戶只使用MyISAM一個引擎,關閉那么沒有使用的InnoDB MEMORY等其他引擎
    查看當前系統有哪些引擎

    mysql>SHOW ENGINES \G
    或者第二種方法
    mysql>SHOW VARIABLES LIKE 'have%';

    查看默認引擎

    mysql> show variables like 'table_type';
    +---------------+--------+
    | Variable_name | Value  |
    +---------------+--------+
    | table_type    | MyISAM |
    +---------------+--------+
    1 row in set (0.00 sec)
    或者
    mysql> show variables like 'storage_engine';
    +----------------+--------+
    | Variable_name  | Value  |
    +----------------+--------+
    | storage_engine | MyISAM |
    +----------------+--------+
    1 row in set (0.00 sec)

    mysql默認的存儲引擎是MyISAM,修改默認的存儲引擎可以修改/etc/my.cnf參數文件,在[mysqld]字段里面增加default-storage-engine=innodb,這里假設設置默認為innodb,根據自己的需要進行設置,關閉不需要的存儲引擎,可以修改/etc/my.cnf參數文件,在[mysqld]字段里面增加–skip-innodb。
    2、調節key_buffer_size大小

    mysql> show variables like 'key_buffer_size';
    +-----------------+-----------+
    | Variable_name   | Value     |
    +-----------------+-----------+
    | key_buffer_size | 402653184 |
    +-----------------+-----------+
    1 row in set (0.00 sec)
    ?
    mysql>
    從上面可以看到,key_buffer_size為:384M,可以修改/etc/my.cnf參數文件,在[mysqld]字段里面增加key_buffer_size = 384M,當然也可以使用mysql>set grobal key_buffer_size=512M修改。
    此參數是用來<strong>設置索引塊</strong>(Index Blocks)緩存的大小,它被所有的線程共享,只適合MyISAM存儲引擎。

    3、調節table_cache設置
    這個參數表示數據庫用戶打開表的緩存數量,每個連接進來,都會至少打開一個表緩存,如此,table_cache與max_connections有關,
    查看當前的table_cache值

    mysql> show variables like 'table_cache';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | table_cache   | 4096  |
    +---------------+-------+
    1 row in set (0.00 sec)

    從上面可以看到,table_cache為:4096,可以修改/etc/my.cnf參數文件,在[mysqld]字段里面增加table_cachee = 4096

    4、調節query_cache設置

    Query Cache 在提高數據庫性能方面具有非常重要的作用,其設定也非常簡單,僅需要在配置文件寫入兩行: query_cache_type 和 query_cache _size,而且 MySQL 的 query cache 非常快!而且一旦命中,就直接發送給客戶端,節約大量的 CPU 時間。

    當然,非 SELECT 語句對緩沖是有影響的,它們可能使緩沖中的數據過期。一個 UPDATE 語句引起的部分表修改,將導致對該表所有的緩沖數據失效,這是 MySQL 為了平衡性能而沒有采取的措施。因為,如果每次 UPDATE 需要檢查修改的數據,然后撤出部分緩沖將導致代碼的復雜度增加。

    query_cache_type :0 代表不使用緩沖, 1 代表使用緩沖,2 代表根據需要使用。

    設置 1 代表緩沖永遠有效,如果不需要緩沖,就需要使用如下語句:

    SELECT SQL_NO_CACHE * FROM my_table WHERE …

    如果設置為 2 ,需要開啟緩沖,可以用如下語句:

    SELECT SQL_CACHE * FROM my_table WHERE …

    用 SHOW STATUS 可以查看緩沖的情況:

    mysql> show status like 'Qca%';
    +-------------------------+----------+
    | Variable_name | Value |
    +-------------------------+----------+
    | Qcache_queries_in_cache | 8 |
    | Qcache_inserts | 545875 |
    | Qcache_hits | 83951 |
    | Qcache_lowmem_prunes | 0 |
    | Qcache_not_cached | 2343256 |
    | Qcache_free_memory | 33508248 |
    | Qcache_free_blocks | 1 |
    | Qcache_total_blocks | 18 |
    +-------------------------+----------+
    8 rows in set (0.00 sec)

    如果需要計算命中率,需要知道服務器執行了多少 SELECT 語句:

    mysql> show status like 'Com_sel%';
    +---------------+---------+
    | Variable_name | Value |
    +---------------+---------+
    | Com_select | 2889628 |
    +---------------+---------+
    1 row in set (0.01 sec)

    在本例中, MySQL 命中了 2,889,628 條查詢中的 83,951 條,而且 INSERT 語句只有 545,875 條。因此,它們兩者的和和280萬的總查詢相比有很大差距,因此,我們知道本例使用的緩沖類型是 2 。

    而在類型是 1 的例子中, Qcache_hits 的數值會遠遠大于 Com_select 。 Qcache_not_cached是可以記錄DML語句的數量的

    >>轉載請注明出處:VPS偵探 本文鏈接地址:http://www.0794baidu.com/opt/vps-mysql-opt.html
    VPS偵探推薦:
    遨游主機VultrLinode搬瓦工LOCVPSKVMLAHOSTKVMHostXen80VPS美國VPS主機,國內推薦騰訊云阿里云

    發表評論

    *必填

    *必填 (不會被公開)

    評論(6條評論)

    1. mofei說道:

      額...看了一天了,沒明白這個怎么優化

    2. VPSer說道:

      @kenbob, 一般不需要優化,高配置的可以將里面的部分參數調高寫。你的是什么程序?

    3. kenbob說道:

      vps安裝了lnmp后,安裝程序生成數據庫很慢,安裝后訪問速度還可以,數據庫需要優化嗎

    4. kenbob說道:

      lnmp 默認有沒有優化MySQL數據庫的

    5. 說道:

      我也收藏了,有沒有網頁優化方面的內容?

    6. 天水人說道:

      學習了。收藏了。
      正在為VPS的內存苦惱。

    主站蜘蛛池模板: 成人中文字幕av| 日韩一区av在线| 欧美日韩免费精品| 三级三级久久三级久久18| 97精品视频在线播放| 亚洲人成网站在线播放2019| 日韩一级片一区二区| 欧美精品自拍视频| 国产精品自产拍在线观看| 啊v视频在线一区二区三区| 丝袜美腿精品国产二区| 欧美精品一区三区在线观看| 久久久极品av| 91九色精品视频| 欧美日韩国产精品一卡| 欧美日韩亚洲一区二区三区在线观看| 久久免费在线观看| 91久久久久久久| 久久久精品欧美| 在线视频一二三区| 久久99热只有频精品91密拍| 国产精品久久久| 日本精品一区二区三区四区| 国产欧美亚洲日本| 日韩亚洲精品电影| 国产日韩精品在线观看| 日本三级久久久| 91精品在线观| 国产亚洲欧美在线视频| 日韩在线视频一区| 久久99热只有频精品91密拍| 亚洲欧美日韩精品久久久| 国产中文字幕免费观看| 日韩福利在线| 日韩欧美一区二区三区四区五区| 国产精品久久久久久av福利| 久久精品国产视频| 欧美激情 国产精品| 琪琪亚洲精品午夜在线| 69精品小视频| 夜夜添无码一区二区三区|