max_user_connections 是 MySQL 用戶連接數(shù)的最大值設置,整段語句的意思是:服務器的 MySQL
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供鎮(zhèn)賚網(wǎng)站建設、鎮(zhèn)賚做網(wǎng)站、鎮(zhèn)賚網(wǎng)站設計、鎮(zhèn)賚網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、鎮(zhèn)賚企業(yè)網(wǎng)站模板建站服務,十多年鎮(zhèn)賚做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
的最大連接數(shù)參數(shù)設置不足。解決方法:修改 MySQL 安裝目錄下 my.ini 或者 my.cnf 文件內(nèi)的
max_user_connections 參數(shù)的數(shù)值,重啟 MySQL 服務器。
但是正常來說,MySQL默認的100個連接數(shù)是足夠的。我們需要從程序上去考慮。MySQL的默認最大連接數(shù)為100(N),實際給普通
用戶使用只有N-1個,保留一個連接是留給超級管理員使用的,防止連接占滿了不會把管理員也踢出來。很多網(wǎng)站在運行的時候都會出現(xiàn)連接數(shù)受限現(xiàn)象,我認為
十之八九并非是網(wǎng)站的真實訪問量太大導致連接數(shù)超標,更多是因為我們在設計網(wǎng)站程序的時候采用了不合理的設計架構或數(shù)據(jù)結構引起的。非正常連接超限可能原
因如下(天緣即時歸納未必完整或無錯訛僅供參考):
類似人數(shù)、在線時間、瀏覽數(shù)等統(tǒng)計功能與主程序數(shù)據(jù)庫同屬一個數(shù)據(jù)空間時就很容易出現(xiàn)。
復雜的動態(tài)頁尤其是用戶每次瀏覽都涉及到多數(shù)據(jù)庫或多表操作時候也很容易出現(xiàn)。
還有就是程序設計的不合理(比如復雜運算、等待等操作放置在數(shù)據(jù)庫交互行為中間進行),或者程序存在釋放BUG。
計算機硬件配置太低卻安裝太高版、太高配置的MySQL。
未采用緩存技術。
數(shù)據(jù)庫未經(jīng)過優(yōu)化或表格設計及其復雜。
等等一些原因,都會延長數(shù)據(jù)庫的數(shù)據(jù)交互時間或增加交互次數(shù)。所以,如果大家遇到這類問題,首先要考慮程序是否存在BUG導致連接釋放失敗,
再次就是考慮優(yōu)化軟硬件。當然修改MySQL連接數(shù)也是軟件優(yōu)化的操作方法之一,希望大家都能夠本著學習的態(tài)度通過研究一下自身的原因從而解決這一問題。
如果實在是找不到原因,那就只好先修改連接數(shù),暫緩定位真實原因了。
停掉MySQL服務。
mysql數(shù)據(jù)庫相關目錄訪問權限過高首先要把舊的數(shù)據(jù)目錄/var/lib/mysql備份到新的數(shù)據(jù)目錄。
給mysql組的mysql用戶賦予新的數(shù)據(jù)目錄的權限。
修改my.cnf。
如果mysql事先為手動安裝,還需修改MySQL啟動腳本。
重啟MySQL服務。
生產(chǎn)環(huán)境中,MySQL 不經(jīng)意間吃掉全部的內(nèi)容,然后開始吃掉 SWAP,性能一降再降,怎么辦?
可以從下面三點查看原因:
MySQL 使用內(nèi)存,有兩個途徑。
永久占用的內(nèi)容
比如全局緩沖區(qū)(Global Buffer)類別,是在服務器啟動期間從操作系統(tǒng)獲得的,不會釋放到任何一個別的進程。
動態(tài)請求的內(nèi)存
線程緩沖區(qū)由MySQL使用,它是在處理新查詢時從操作系統(tǒng)請求的內(nèi)存。在執(zhí)行查詢之后,該內(nèi)存被釋放回操作系統(tǒng)。
這意味著 MySQL 的內(nèi)存使用,是 全局緩沖區(qū) 加上 線程緩沖區(qū) 以及 允許的最大連接數(shù) 。
對于專用數(shù)據(jù)庫服務器,該值需要保持在服務器內(nèi)存的90%以下。在共享服務器的情況下,它應該保持在服務器內(nèi)存的50%以下。
檢查一下 MySQL 設置,有助于確定內(nèi)存使用情況,從而為 MySQL 分配合適的值。
一個近似的公式:
當網(wǎng)站受到攻擊時,有可能在短時間內(nèi)建立異常高的連接數(shù)量。MySQL 中的 PROCESSLIST 可用于檢測頂級用戶并阻止對濫用連接的訪問。
找出查詢需要很長時間才能執(zhí)行的語句,因為這些查詢需要進一步優(yōu)化服務器才能更好地執(zhí)行,可以通過服務器查詢?nèi)罩具M行識別。由于查詢速度慢,導致磁盤讀取較多,導致內(nèi)存和CPU使用率較高,影響服務器性能。
最后,到了加內(nèi)存條的時候了。雖然在優(yōu)化數(shù)據(jù)庫設置之后,服務器會不斷地路由到使用交換內(nèi)存,但也必須增加內(nèi)存。俗話說:“巧婦難為無米之炊”,就是這個意思。
上面說的這些方向,大家可以在實際操作中驗證體會,希望大家在數(shù)據(jù)庫優(yōu)化的路上,麻溜順暢,砥礪前行。
請點擊輸入圖片描述(最多18字)
經(jīng)?;燠E于技術社區(qū),頻繁看到這個題目,今天干脆在自己博客重復一遍解決辦法:
針對mysql,sqlserver等關系型數(shù)據(jù)庫單表數(shù)據(jù)過大的處理方式
如果不是阿里云的分布式數(shù)據(jù)庫 DRDS?那種多機器集群方案的話:?先考慮表分區(qū) ;然后考慮分表 ;然后考慮分庫。
這個題目是我所經(jīng)歷過的,我做的是GPS應用,早期版本就是選用的關系型數(shù)據(jù)庫Sql Server。當時我選取的方案就是第一種:表分區(qū)。 表分區(qū)的優(yōu)勢是,如果表結構合理,可以不涉及到程序修改。也就是說,對程序來講依然是單表讀寫的效果!
所有軌跡數(shù)據(jù)存入到一個巨大的表里。有多大呢?
最大存儲量超過10億行。具體數(shù)值應該是12億多點,由于系統(tǒng)設計為只存儲30天軌跡,所以線上期間最大存儲只到這個數(shù),再后來采用云架構,上云替換成非關系性數(shù)據(jù)庫,獲得了更高的寫入性能和存儲壓縮能力。??
每日寫入量就超過1500萬行。上下班交通高峰時候每秒寫入量平均超過500行。也就是500iops,距離系統(tǒng)設計的壓測指標3000還有一大截
這張大型單表設計要點:(一個聚集索引用于寫入,一個聯(lián)合索引用于查詢,沒有主鍵,使用表分區(qū))
明確主鍵用途:
真的需要查詢單行數(shù)據(jù)時候才需要主鍵!
我采用無主鍵設計,用于避免寫入時候浪費維護插入數(shù)據(jù)的性能。最早使用聚集的類似自增的id主鍵,壓測寫入超過5億行的時候,寫入性能縮減一半
準確適用聚集:
寫入的數(shù)據(jù)在硬盤物理順序上是追加,而不是插入!
我把時間戳字段設置為聚集索引,用于聚集寫入目的設計。保證硬盤上的物理寫入順序,不浪費性能用于插入數(shù)據(jù)
職責足夠單一:?
用于精準索引!
使用時間+設備聯(lián)合索引,保證這張表只有一個查詢用途。保證系統(tǒng)只有一種查詢目的:按照設備號,查詢一個時間段的數(shù)據(jù)。
精確的表分區(qū):
要求查詢時候限定最大量或者最大取值范圍!
按天進行表分區(qū),實現(xiàn)大數(shù)據(jù)量下的高效查詢。這里是本文重點,按照聚集索引進行,可以讓目標數(shù)據(jù)局限在更小的范圍進行,雖然單表數(shù)據(jù)上億,但是查詢基本上只在某一天的的幾千萬里進行索引查詢
每張表會有各自的特點,不可生搬硬套,總結下我這張表的特點:
只增,不刪,不改!
關于不刪除中:每天使用作業(yè)刪除超過30天的那個分區(qū)數(shù)據(jù)除外,因為要清空舊的表分區(qū),騰出新的表分區(qū)!
只有一個業(yè)務查詢:只按照設備編碼查詢某個時間段
只有一個運維刪除:刪除舊的分區(qū)數(shù)據(jù)
這張表,是我技術生涯中進步的一個大階梯,讓我我體會到了系統(tǒng)架構的意義。
雖然我的這張舉行表看似只有4個關鍵點,但是這四個非常精準的關鍵點設計,耗費了我一個月之久!正是這么足夠精準的表結構設計,才撐起了后來壓測并發(fā)量超過3000的并發(fā)寫入量!壓測的指標跟數(shù)據(jù)庫所在的硬盤有直接關系,當時選取的硬盤是4塊10000轉的SAS盤做了Raid10的環(huán)境
關于后來為什么沒有更高的實際應用數(shù)值,是因為系統(tǒng)后來改版為云架構,使用了阿里云,更改為寫入性能更高的非關系型數(shù)
文章題目:mysql超標怎么辦 mysql 超時
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article18/dosdidp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、域名注冊、企業(yè)建站、App設計、關鍵詞優(yōu)化、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)