快速增加MYSQL資料庫連接數負載能力

來源:互聯網
上載者:User

   第一先限制Innodb的並發處理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看機器壓力,如果

  非常大,先改成16讓機器的壓力下來,然後慢慢增達,適應自已的業務.

  處理方法: set global innodb_thread_concurrency=16;

  方法一: (window系統中可直接修改my.ini檔案)

  進入MYSQL安裝目錄 開啟MYSQL設定檔 my.ini 或 my.cnf尋找 max_connections=100 修改為 max_connections=1000 服務裡重起MYSQL即可

  方法二: (在mysql命令模式下)

  對於串連數已經超過600或是更多的情況,可以考慮適當的限制一下串連數,讓前端報一下錯,也別讓DB掛了.

  DB在了,總是可以用來載入一下資料,當資料載入到了nosql裡了,慢慢的DB壓力也會降下來的.

  限制單使用者串連數在500以下. 如:

  set global max_user_connections=500;

  (MySQL隨著串連數的增加效能會是下降的,這也是thread_pool出現的原因)

  另外對於有的監控程式會讀取information_schema下面的表的程式可以考慮關閉下面的參數

  innodb_stats_on_metadata=0

  set global innodb_stats_on_metadata=0;

  方法

  MySQL的最大串連數預設是100用戶端登入:mysql -uusername -ppassword

  設定新的最大串連數為200:mysql> set GLOBAL max_connections=200

  顯示當前啟動並執行Query:mysql> show processlist

  顯示目前狀態:mysql> show status

  退出用戶端:mysql> exit

  查看當前最大串連數:mysqladmin -uusername -ppassword variables

  這個參數主要防止對讀取information_schema時造成大量讀取磁碟進行資訊統計(如果慢查詢中出現關於information_schema中表時,也可以考慮禁用該參數)

  處理依據:

  當學校的一個食堂一分鐘只能為兩個打飯, 忽然來了100個時人來打飯,又沒排隊, 不出會現了打飯的師傅要用點時間

  去選擇為那個使用者服務了, 人越多,場面就越亂, 難免出現使用者大吼該他的場面, 最後有可能就出現不是打飯了,而時之間相互

  打架了,打飯的師傅也將收到同時有90個以上的Server too busy. 如果能排一下隊.最多也就50分鐘能處理完了

  方法三: (linux中得新編譯mysql)

  以centos 4.4 下面的mysql 5.0.33 手工編譯版本為例說明:

  vi /usr/local/mysql/bin/mysqld_safe

  找到safe_mysqld編輯它,找到mysqld啟動的那兩行,在後面加上參數:

  -O max_connections=1500

  具體一點就是下面的位置:

  用紅字特別說明:

  then $NOHUP_NICENESS $ledir/$MYSQLD

  $defaults --basedir=$MY_BASEDIR_VERSION

  --datadir=$DATADIR $USER_OPTION

  --pid-file=$pid_file

  --skip-external-locking

  -O max_connections=1500

  >> $err_log 2>&1 else

  eval "$NOHUP_NICENESS $ledir/$MYSQLD

  $defaults --basedir=$MY_BASEDIR_VERSION

  --datadir=$DATADIR $USER_OPTION

  --pid-file=$pid_file

  --skip-external-locking $args

  -O max_connections=1500 >>

  $err_log 2>&1"

  儲存。

  # service mysqld restart

  # /usr/local/mysql/bin/mysqladmin -uroot -p variables

  輸入root資料庫帳號的密碼後可看到

  max_connections 1500 即新改動已經生效。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.