亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

服務器MYSQL CPU使用率過高解決方法

2024-09-01 13:43:31
字體:
來源:轉載
供稿:網友
朋友的主機(Windows 2003 + IIS + PHP + MYSQL )近來 MySQL 服務進程 (mysqld-nt.exe) CPU 占用率總為 100% 高居不下.此主機有10個左右的database, 分別給十個網站調用.據朋友測試,導致 mysqld-nt.exe cpu 占用奇高的是網站A,一旦在 IIS中將此網站停止服務,CPU占用就降下來了.一啟用,則馬上上升.
MYSQLCPU 占用100% 的解決過程
今天早上仔細檢查了一下.目前此網站的七日平均日 IP 為2000,PageView 為 3萬左右.網站A 用的 database目前有39個表,記錄數 60.1萬條,占空間 45MB.按這個數據,MySQL 不可能占用這么高的資源.
于是在服務器上運行命令,將mysql 當前的環境變量輸出到文件output.txt:
d:/web/mysql>mysqld.exe--help >output.txt
發現 tmp_table_size 的值是默認的 32M,于是修改 My.ini, 將tmp_table_size 賦值到200M:
d:/web/mysql>notepad c:/windows/my.ini
[mysqld]
tmp_table_size=200M
然后重啟 MySQL服務.CPU占用有輕微下降,以前的CPU占用波形圖是 100%一根直線,現在則在 97%~100%之間起伏.這表明調整tmp_table_size 參數對 MYSQL性能提升有改善作用.但問題還沒有完全解決.
于是進入 mysql的shell 命令行,調用 show processlist, 查看當前 mysql 使用頻繁的 sql 語句:
mysql> showprocesslist;
反復調用此命令(每秒刷兩次),發現網站 A 的兩個 SQL 語句經常在 process list 中出現,其語法如下:
SELECT t1.pid, t2.userid, t3.count, t1.date
FROM _mydata AS t1
LEFT JOIN _myuser AS t3 ON t1.userid=t3.userid
LEFT JOIN _mydata_body AS t2 ON t1.pid=t3.pid
ORDER BY t1.pid
LIMIT 0,15
調用 show columns 檢查這三個表的結構 :
mysql> showcolumns from _myuser;
mysql> showcolumns from _mydata;
mysql> showcolumns from _mydata_body;
終于發現了問題所在:_mydata 表,只根據 pid 建立了一個 primary key,但并沒有為 userid建立索引.而在這個 SQL 語句的第一個 LEFT JOIN ON 子句中:
LEFT JOIN _myuser AS t3 ON t1.userid=t3.userid
_mydata 的userid 被參與了條件比較運算.于是我為給 _mydata 表根據字段 userid建立了一個索引:
mysql> ALTERTABLE `_mydata` ADD INDEX ( `userid` )
建立此索引之后,CPU馬上降到了 80% 左右.看到找到了問題所在,于是檢查另一個反復出現在 show processlist 中的 sql語句:
SELECT COUNT(*)
FROM _mydata AS t1, _mydata_key AS t2
WHERE t1.pid=t2.pid and t2.keywords = '孔雀'
經檢查 _mydata_key 表的結構,發現它只為 pid 建了了 primary key, 沒有為 keywords 建立index._mydata_key 目前有 33 萬條記錄,在沒有索引的情況下對33萬條記錄進行文本檢索匹配,不耗費大量的cpu時間才怪.看來就是針對這個表的檢索出問題了.于是同樣為 _mydata_key 表根據字段 keywords 加上索引:
mysql> ALTERTABLE `_mydata_key` ADD INDEX ( `keywords` )
建立此索引之后,CPU立刻降了下來,在50%~70%之間震蕩.
再次調用 show prosslist,網站A 的sql 調用就很少出現在結果列表中了.但發現此主機運行了幾個 Discuz的論壇程序, Discuz論壇的好幾個表也存在著這個問題.于是順手一并解決,cpu占用再次降下來了.
解決 MYSQLCPU 占用100% 的經驗總結
增加 tmp_table_size 值.mysql 的配置文件中,tmp_table_size的默認大小是 32M.如果一張臨時表超出該大小,MySQL產生一個 The table tbl_nameis full 形式的錯誤,如果你做很多高級 GROUP BY 查詢,增加 tmp_table_size 值. 這是mysql官方關于此選項的解釋:
tmp_table_size
This variable determines the maximum size for a temporary table inmemory. If the table becomes too large, a MYISAM table is createdon disk. Try to avoid temporary tables by optimizing the querieswhere possible, but where this is not possible, try to ensuretemporary tables are always stored in memory. Watching theprocesslist for queries with temporary tables that take too long toresolve can give you an early warning that tmp_table_size needs tobe upped. Be aware that memory is also allocated per-thread. Anexample where upping this worked for more was a server where Iupped this from 32MB (the default) to 64MB with immediate effect.The quicker resolution of queries resulted in less threads beingactive at any one time, with all-round benefits for the server, andavailable memory.
對WHERE, JOIN, MAX(), MIN(), ORDER BY 等子句中的條件判斷中用到的字段,應該根據其建立索引INDEX.索引被用來快速找出在一個列上用一特定值的行.沒有索引,MySQL不得不首先以第一條記錄開始并然后讀完整個表直到它找出相關的行.表越大,花費時間越多.如果表對于查詢的列有一個索引,MySQL能快速到達一個位置去搜尋到數據文件的中間,沒有必要考慮所有數據.如果一個表有1000行,這比順序讀取至少快100倍.所有的MySQL索引(PRIMARY、UNIQUE和INDEX)在B樹中存儲.
根據 mysql的開發文檔:
索引 index 用于:
快速找出匹配一個WHERE子句的行
當執行聯結(JOIN)時,從其他表檢索行.
對特定的索引列找出MAX()或MIN()值
如果排序或分組在一個可用鍵的最左面前綴上進行(例如,ORDER BYkey_part_1,key_part_2),排序或分組一個表.如果所有鍵值部分跟隨DESC,鍵以倒序被讀取.
在一些情況中,一個查詢能被優化來檢索值,不用咨詢數據文件.如果對某些表的所有使用的列是數字型的并且構成某些鍵的最左面前綴,為了更快,值可以從索引樹被檢索出來.
假定你發出下列SELECT語句:
mysql> SELECT* FROM tbl_name WHERE col1=val1 AND col2=val2;
如果一個多列索引存在于col1和col2上,適當的行可以直接被取出.如果分開的單行列索引存在于col1和col2上,優化器試圖通過決定哪個索引將找到更少的行并來找出更具限制性的索引并且使用該索引取行.
開發人員做 SQL 數據表設計的時候,一定要通盤考慮清楚.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美电影院免费观看| 久久天天躁狠狠躁老女人| 久久精品国产96久久久香蕉| x99av成人免费| 亚洲综合av影视| 在线视频日韩精品| 亚洲aa在线观看| 91影视免费在线观看| 亚洲专区在线视频| 国产日本欧美一区二区三区| 亚洲黄色有码视频| 国产成+人+综合+亚洲欧美丁香花| 91国内揄拍国内精品对白| 欧美日韩激情美女| 国产欧美日韩精品在线观看| 精品无人区乱码1区2区3区在线| 日韩av片免费在线观看| 在线电影av不卡网址| 中文综合在线观看| 久久精品精品电影网| 欧美高清在线播放| 成人免费福利在线| 国产偷亚洲偷欧美偷精品| 亚洲美女精品久久| 欧美视频在线观看 亚洲欧| 国产一区二区三区视频在线观看| 亚洲影院色在线观看免费| 久久久久久久久久久久久久久久久久av| 亚洲国产私拍精品国模在线观看| 美女视频久久黄| 77777少妇光屁股久久一区| 亚洲美女免费精品视频在线观看| 成人福利在线视频| 欧美床上激情在线观看| 日韩av电影中文字幕| 国产精品美女免费| 97色在线播放视频| 97在线观看免费| 欧美亚洲在线视频| 国产精品久久久久久av福利软件| 亚洲第一区第二区| 精品国产精品自拍| 国内精品400部情侣激情| 久久久久久久国产精品| 久久手机免费视频| 日本三级韩国三级久久| 色视频www在线播放国产成人| yw.139尤物在线精品视频| 日本欧美中文字幕| 一本久久综合亚洲鲁鲁| 精品国产一区二区三区久久久| 国产精品久久久久久久久久小说| 日韩精品久久久久久久玫瑰园| 亚洲无av在线中文字幕| 国产精品精品一区二区三区午夜版| 亚洲综合在线中文字幕| 欧美电影在线观看高清| 欧美黑人一级爽快片淫片高清| 国产精品情侣自拍| 国产精品视频久| 91精品国产色综合| 国产午夜精品美女视频明星a级| 欧美成人精品一区二区| 欧美二区在线播放| 日本电影亚洲天堂| 日韩欧美aaa| 亚洲缚视频在线观看| 亚洲第一福利在线观看| 亚洲性猛交xxxxwww| 欧美专区在线观看| 亚洲aⅴ男人的天堂在线观看| 免费不卡欧美自拍视频| 国产精品都在这里| 色婷婷av一区二区三区在线观看| 国产精品久久久久不卡| 亚洲国产精品人人爽夜夜爽| 久久视频免费在线播放| 日韩国产精品视频| 欧美插天视频在线播放| 欧美成人免费网| 久久国产精品久久久久| 国产成人短视频| 欧美巨大黑人极品精男| 久久久久久久999精品视频| 欧美日韩国产精品一区二区不卡中文| 97精品国产97久久久久久春色| 亚洲第一区中文99精品| 久久久久久久999精品视频| 成人免费网站在线| 国产精品久久久久99| 色婷婷av一区二区三区久久| 国产精品中文字幕久久久| 久久男人资源视频| 91丝袜美腿美女视频网站| 国产精品永久免费在线| 亚洲精品国产精品国产自| 亚洲综合日韩中文字幕v在线| 热草久综合在线| 亚洲在线视频观看| 96pao国产成视频永久免费| 国外成人性视频| 成人欧美在线观看| 日本19禁啪啪免费观看www| 久久国产精品影片| 在线播放国产精品| 精品偷拍一区二区三区在线看| 亚洲男人7777| 亚洲一区二区三区四区在线播放| 中文字幕国内精品| 最近2019年手机中文字幕| 亚洲欧美日韩国产精品| 成人写真视频福利网| 热久久视久久精品18亚洲精品| 色综合老司机第九色激情| 国产精品白丝av嫩草影院| 久久精品国产2020观看福利| 国产精品第2页| 精品中文字幕视频| 亚洲一区二区三区香蕉| 久久国产精品久久国产精品| 国产视频久久久久久久| 亚洲精品97久久| 久久天天躁狠狠躁夜夜躁| 91视频国产一区| 亚洲第一男人av| 日韩日本欧美亚洲| 欧美网站在线观看| 精品毛片网大全| 91精品久久久久久久久久久| 亚洲成色777777在线观看影院| 136fldh精品导航福利| 国产精品永久免费| 国产亚洲欧美一区| 国产91精品高潮白浆喷水| 国产精品永久免费视频| 亚洲国产精品美女| 成人免费在线视频网站| 欧美xxxx18国产| 92国产精品久久久久首页| 亚洲成人激情图| 精品国产欧美成人夜夜嗨| 亚洲精品成人网| 国产精品日韩欧美综合| 欧美午夜久久久| 日韩激情在线视频| 一区二区亚洲欧洲国产日韩| 亚洲欧洲高清在线| 欧美在线观看一区二区三区| 狠狠色噜噜狠狠狠狠97| 在线观看成人黄色| 成人a级免费视频| 日韩性xxxx爱| 精品福利在线观看| 97超碰蝌蚪网人人做人人爽| 7777精品久久久久久| 国精产品一区一区三区有限在线| 亚洲成人性视频| 日韩成人xxxx| 亚洲成色999久久网站| 日韩在线观看网址| 国产成人精品综合久久久| 亚洲一区二区三区四区在线播放| 久久亚洲精品小早川怜子66| 69精品小视频|