DestinyNet 命理網



專業諮詢首選:命理網論命平台



議題選項
議題評分
#359684 - 2004-04-27 00:46:31 Too many connections , 本站目前解決方案
站長 離線

六六大順
註冊: 1999-12-22
文章數: 6665
來自: 新竹,台北 ***
因為本站同時有許多網友在瀏覽,只要有一兩個網友 新增/刪除/修改 文章
就會造成資料庫 table 鎖定,此時網站好像沒反應似的

新的 request 將會被 MySQL 給 queue 住,在累積 connections 的過程中,如果我不中途把 http daemon 給暫時 stop 掉,整個網站會一直沒反應,但不會拒絕連線,新的連線請求會一直加到資料庫 reuqest queue 中,直到一百個 connections 滿載 (mysql 內定)。
從 一兩個 connections 累積到 100 個 connections 大概費時 3~5 分鐘(依照當時流量),此時螢幕就會顯示一長串 " Too many connections " 的錯誤訊息。

此時 mysql 會消耗內部 table lock , 某些 request 要 insert/update/delete 某個 row , 而其他的 request 要 select... MySQL 內部有個 timeout 機制處理這個 deadlock , 不處理完此事其他 connections 無法進來。

處理此 lock 大概得費時 數分鐘...,接著 connections 數量才會降到 100 以下,但是如果此時大家仍然不斷點選本網站,網站仍會繼續沒反應,又有可能出現 Too many connections 的錯誤訊息。依照以往經驗,從出現 Too many connections 到大家可以繼續瀏覽本網站,如果我不人工介入的話,大概得消耗十分鐘左右!

現在,我把連線上限修改為 10 個 connections , 這有什麼影響?如果人多而又有人要 insert/delete/update 某個 row 的時候,會 更快/更容易看到 Too many connections 的錯誤 ,但是相對地, 系統復原也更快 。不用累積到 100 個 connections 才阻擋大家進來,現在 10 個連線大家就進不來。此時系統處理 deadlock 會更快,大家也不用等太久就可以看到網站恢復正常。


前面看不懂沒關係,在此提供三點方法請大家遵守:


1. 儘量登入系統,不要登出系統。最好一直登入系統(勾選「記住我的帳號密碼」)。
2. 貼文謹慎 , 請參考此連結
3. 當您按下本站某連結發現沒反應時,請不要再繼續點選其他連結或是 重新載入 網頁,這樣只會雪上加霜。請暫時離開本站,到外面逛一下,約一兩分鐘後再來即可。


要根本解決此問題,在於引入高速高檔的伺服器主機,大概要花六萬以上(SCSI 硬碟為必需品)。本站目前無此預算,請大家多體諒,共體時艱。
↑回到頂端↑
廣告
#359685 - 2004-04-28 14:05:11 Re: Too many connections , 本站目前解決方案
pingpoing 離線
終日乾乾
註冊: 2004-01-31
文章數: 151
來自: HK
This is not a good approach.
To overcome the MySQL connection problem, you have to rewrite the php forum such that it uses mysql_connect() (NOT mysql_pconnect()) and retains some of the mysql connection threads on the server side.
It is not a easy way to do however.

Hope this help
↑回到頂端↑
#359686 - 2004-04-28 14:30:34 Re: Too many connections , 本站目前解決方案
站長 離線

六六大順
註冊: 1999-12-22
文章數: 6665
來自: 新竹,台北 ***
回應:

you have to rewrite the php forum such that it uses mysql_connect() (NOT mysql_pconnect()) and retains some of the mysql connection threads on the server side.




最主要的原因是 table lock .
是先因為 table lock 才會導致 too many connections 的
所以,即使加上 connection pool 也無濟於事
(否則本站最多線上四百多人,大家都在 reading , 網站速度仍然飛快...)

而 table lock 的主因: 硬碟不夠快、不是 SCSI 硬碟、資料庫不是獨立主機 ...
_________________________

站務區內的文章我一定讀。而其他板面文章我甚少閱讀。
因此,若有事聯絡指教,麻煩請至站務區內貼文,謝謝。


✨ Twitter : http://twitter.com/destinynet
✨ 站長Facebook : http://www.facebook.com/Destiny.Pro

↑回到頂端↑
#359687 - 2004-05-04 23:25:48 Re: Too many connections , 本站目前解決方案
小苦 離線
五福臨門
註冊: 2002-02-07
文章數: 5275
來自: 新店
最近常常還是進不來..不知怎麼稿的哩.?
↑回到頂端↑
#359688 - 2004-05-04 23:29:04 Re: Too many connections , 本站目前解決方案
站長 離線

六六大順
註冊: 1999-12-22
文章數: 6665
來自: 新竹,台北 ***
回應:

最近常常還是進不來..不知怎麼稿的哩.?



資料庫瓶頸
有人 貼文/刪文/改文 就很有可能如此.
如果大家都在讀文章,線上五百人也不是問題
_________________________

站務區內的文章我一定讀。而其他板面文章我甚少閱讀。
因此,若有事聯絡指教,麻煩請至站務區內貼文,謝謝。


✨ Twitter : http://twitter.com/destinynet
✨ 站長Facebook : http://www.facebook.com/Destiny.Pro

↑回到頂端↑
#359689 - 2004-05-07 15:42:39 Re: Too many connections , 本站目前解決方案
伍修羅 離線
一元復始
註冊: 2004-04-07
文章數: 1313
回應:

回應:

最近常常還是進不來..不知怎麼稿的哩.?



資料庫瓶頸
有人 貼文/刪文/改文 就很有可能如此.
如果大家都在讀文章,線上五百人也不是問題



站長大大, 有否考慮到更換database, 微軟的東東, 入門很容易, 但往往維護時的問題一大堆
_________________________
萬般帶不去,唯有業隨身

見微可以知著,一葉可以知秋;讀歷史可以知興替,學兵法得以知正奇.

善戰者之勝也,無奇勝,無智名,無勇功,故其戰勝不忒。不忒者,其所措勝,勝已敗者也。
↑回到頂端↑
#359690 - 2004-05-07 16:14:14 Re: Too many connections , 本站目前解決方案
站長 離線

六六大順
註冊: 1999-12-22
文章數: 6665
來自: 新竹,台北 ***
回應:


站長大大, 有否考慮到更換database, 微軟的東東, 入門很容易, 但往往維護時的問題一大堆



本站從沒用微軟的東西啊 
_________________________

站務區內的文章我一定讀。而其他板面文章我甚少閱讀。
因此,若有事聯絡指教,麻煩請至站務區內貼文,謝謝。


✨ Twitter : http://twitter.com/destinynet
✨ 站長Facebook : http://www.facebook.com/Destiny.Pro

↑回到頂端↑
#359691 - 2004-05-07 16:42:28 Re: Too many connections , 本站目前解決方案
伍修羅 離線
一元復始
註冊: 2004-04-07
文章數: 1313
回應:

回應:


站長大大, 有否考慮到更換database, 微軟的東東, 入門很容易, 但往往維護時的問題一大堆



本站從沒用微軟的東西啊 



對不起, 我錯了...
_________________________
萬般帶不去,唯有業隨身

見微可以知著,一葉可以知秋;讀歷史可以知興替,學兵法得以知正奇.

善戰者之勝也,無奇勝,無智名,無勇功,故其戰勝不忒。不忒者,其所措勝,勝已敗者也。
↑回到頂端↑
#359692 - 2004-05-09 10:47:40 Re: Too many connections , 本站目前解決方案
Miki 離線
一元復始
註冊: 1999-12-22
文章數: 1072
來自: 台灣新竹
記住帳號密碼的方式
會不會造成人不在線上
卻依然出現登入狀態ㄋ?
_________________________
Just Keep WALKing...
↑回到頂端↑
#359693 - 2004-05-09 10:56:13 Re: Too many connections , 本站目前解決方案
命也!! 離線
一元復始
註冊: 2004-02-04
文章數: 2075
來自: 冷冷的下雨天
回應:

最近常常還是進不來..不知怎麼稿的哩.?



還不是你偷懶~~~整天都在路上撿光碟~~撿到也不分享給小弟~~
_________________________
下雨了~輕輕的雨聲~淡淡的山岳天~~ 存好心~做好事~說好話~~簡簡單單三句話~~ 只有執行力~才會讓人成長~ 保持開放的態度去看人事物 別期待事情應該是怎樣進行 "勇於敢則殺,勇於不敢則活。" 小弟白字多~~傷到大大的眼睛~真是對不起你們~
↑回到頂端↑
#359694 - 2004-05-09 16:59:08 Re: Too many connections , 本站目前解決方案
站長 離線

六六大順
註冊: 1999-12-22
文章數: 6665
來自: 新竹,台北 ***
回應:

記住帳號密碼的方式
會不會造成人不在線上
卻依然出現登入狀態ㄋ?



session timeout 為 10 分鐘
這點您不用擔心
_________________________

站務區內的文章我一定讀。而其他板面文章我甚少閱讀。
因此,若有事聯絡指教,麻煩請至站務區內貼文,謝謝。


✨ Twitter : http://twitter.com/destinynet
✨ 站長Facebook : http://www.facebook.com/Destiny.Pro

↑回到頂端↑
#359695 - 2004-05-09 20:05:46 Re: Too many connections , 本站目前解決方案
Miki 離線
一元復始
註冊: 1999-12-22
文章數: 1072
來自: 台灣新竹
了解
謝謝搖頭站長大大哩~^^~
_________________________
Just Keep WALKing...
↑回到頂端↑
#359696 - 2004-05-16 01:02:26 Re: Too many connections , 本站目前解決方案
七龍珠 離線
或躍在淵
註冊: 2004-05-04
文章數: 257
來自: 花果山
回應:

回應:

you have to rewrite the php forum such that it uses mysql_connect() (NOT mysql_pconnect()) and retains some of the mysql connection threads on the server side.




最主要的原因是 table lock .
是先因為 table lock 才會導致 too many connections 的
所以,即使加上 connection pool 也無濟於事
(否則本站最多線上四百多人,大家都在 reading , 網站速度仍然飛快...)

而 table lock 的主因: 硬碟不夠快、不是 SCSI 硬碟、資料庫不是獨立主機 ...




我覺得 Connection Pooling 是有正面效應的。Database Connection 本就 expensive, 會用到 CPU 的不少資源﹐也影響 MySQL 的速度。試想每一 Connection 省一秒﹐每天有多少個 Connection? 省下來的時間可讓 MySQL 處理其它 request, 良性循環﹐現在可是惡性循環啊~~

您提到 Table Lock, 我假定您是用 MyISAM Table Type (supports Table Level Locking). 如確實如此﹐而您的 MySQL 版本又 supports InnoDB 的話﹐我建議您換去 InnoDB Table Type (supports Row Level Locking), 那麼﹐ Insert/Update/Delete 就不需要 Lock 整個 Table 了。

我覺得硬件倒不是最主要的原因﹐因為 PHP Web Application 及 Database Design 還有很多待改善的空間﹐MySQL Performance Tuning 也會有明顯的幫助。
_________________________
命運可改變﹐先問您意願。旁人幫不了﹐命運在您手。
有病方為貴﹐無煞不成奇。逆境要求存﹐強者得永生。
↑回到頂端↑
#359697 - 2004-05-16 01:12:01 Re: Too many connections , 本站目前解決方案
站長 離線

六六大順
註冊: 1999-12-22
文章數: 6665
來自: 新竹,台北 ***
回應:


我覺得 Connection Pooling 是有正面效應的。Database Connection 本就 expensive, 會用到 CPU 的不少資源﹐也影響 MySQL 的速度。試想每一 Connection 省一秒﹐每天有多少個 Connection? 省下來的時間可讓 MySQL 處理其它 request, 良性循環﹐現在可是惡性循環啊~~

您提到 Table Lock, 我假定您是用 MyISAM Table Type (supports Table Level Locking). 如確實如此﹐而您的 MySQL 版本又 supports InnoDB 的話﹐我建議您換去 InnoDB Table Type (supports Row Level Locking), 那麼﹐ Insert/Update/Delete 就不需要 Lock 整個 Table 了。



Connection Pool 有效沒錯,但是對本站而言效果可能不顯著
我看這程式碼,應該是沒有處理 connection pool 的機制
也許 php 內部本身就處理了 connection pool , 這我沒研究了...

因為其實 select 是非常快的,幾乎不會有任何延遲
之前某時段線上飆到四百多人,因為那一段時間似乎沒有人正在 insert/update/delete 任何資料
所以即使四百多人,速度仍然像閃電一樣快

至於 InnoDB , 我沒研究,謝謝您提供的方向
_________________________

站務區內的文章我一定讀。而其他板面文章我甚少閱讀。
因此,若有事聯絡指教,麻煩請至站務區內貼文,謝謝。


✨ Twitter : http://twitter.com/destinynet
✨ 站長Facebook : http://www.facebook.com/Destiny.Pro

↑回到頂端↑
#359698 - 2004-05-16 01:57:38 Re: Too many connections , 本站目前解決方案
七龍珠 離線
或躍在淵
註冊: 2004-05-04
文章數: 257
來自: 花果山
回應:

Connection Pool 有效沒錯,但是對本站而言效果可能不顯著
我看這程式碼,應該是沒有處理 connection pool 的機制
也許 php 內部本身就處理了 connection pool , 這我沒研究了...

因為其實 select 是非常快的,幾乎不會有任何延遲
之前某時段線上飆到四百多人,因為那一段時間似乎沒有人正在 insert/update/delete 任何資料
所以即使四百多人,速度仍然像閃電一樣快

至於 InnoDB , 我沒研究,謝謝您提供的方向




現在我對這問題有比較多的概念了﹐而 MyISAM 的假定也成立了﹐以下是我的看法:

目前最迫切的不是 Connection Pooling, 要改也要查比較多程式碼﹐所以容後再處理。

看來﹐把 Table Type 從 MyISAM 換去 InnoDB 是比較恰當﹐快﹐且省時的做法。
_________________________
命運可改變﹐先問您意願。旁人幫不了﹐命運在您手。
有病方為貴﹐無煞不成奇。逆境要求存﹐強者得永生。
↑回到頂端↑
#359699 - 2004-05-30 21:37:07 Re: Too many connections , 本站目前解決方案
jerryen 離線
見龍在田
註冊: 2002-05-04
文章數: 64
mm我也覺得不是硬體的問題
不知道MYSQL有沒有提供自己的ODBC DRIVER
在ORACLE的環境下
使用GENERIC DRIVER和ORACLE THIN DRIVER效能是差很多的
↑回到頂端↑
#359700 - 2004-06-14 18:03:45 Re: Too many connections , 本站目前解決方案
pingpoing 離線
終日乾乾
註冊: 2004-01-31
文章數: 151
來自: HK
↑回到頂端↑



板主:  站長 
Google 搜尋
七嘴八舌
Facebook 塗鴉牆
最多貼文者 (30 天內)
hui 99
bluenwater 95
CHC 95
kit13 76
元利 76
jcj 72
Quantacy 69
yichinyichin 58
jwjwo 50
rblin 40
小休 33
坎離 32
紅兒 31
九流術士 30
雙斗魂 29
最新議題
問5月2日準備要去面試之職缺是否適合自己
?

by 流浪ㄟ郎
18:55
我該提出離職嗎?
by 檸檬拉麵
15:36
黃曙光請辭國安會諮委及潛艦小組召集人——
請觸機起卦

by Quantacy
10:10
這裡頭自然有真樂
by rblin
03:01
辰年辰月聖人出
by jwjwo
2024-04-15 20:02:46
15/4 以色列會否軍事方式反擊伊朗??
by golden621
2024-04-15 18:40:49
試占"地震成因與電磁波&quo
t;之意象。

by CHC
2024-04-15 15:19:51
虞朝,夏朝之前的朝代
by kit13
2024-04-15 13:41:14
《堯舜之都》
by Amychen
2024-04-15 10:08:15
試占徐巧芯涉嫌詐騙
by 乃哥
2024-04-15 07:23:02
有些寵物福報也很大
by rblin
2024-04-15 03:01:31
爸爸明天攝護腺肥大檢查結果是需要開刀嗎?
by 阿肥1
2024-04-14 21:27:58
單身六年,想知道是否感情對象出現?
by Heather anna
2024-04-14 16:03:31
談易經中的萃卦與升卦(九)
by valley
2024-04-14 09:10:15
孩子是父母的複製品
by rblin
2024-04-14 03:01:24
試占再全球化的意象,以台灣為世。
by CHC
2024-04-13 10:28:40
過去已過去,明天還沒來
by rblin
2024-04-13 03:01:55
AI算命大師 使用者人數破萬啦!
by 站長
2024-04-12 19:21:09
問國曆5月下旬生活狀態 (蒙之損)
by 圓仔寶寶
2024-04-12 05:52:42
世間無常,國土危脆
by rblin
2024-04-12 03:02:58
以"梅"字測能否升職
成功

by superman1
2024-04-11 21:19:26
請問此命盤的命主用神該取哪個較好?
by 放羊羊
2024-04-11 20:53:01
試占歐美與大陸的產業競爭。以歐美為世,大
陸為應。

by CHC
2024-04-11 17:21:58
請問此八字格局層次大運如何?算怎樣的八字
by 微丝
2024-04-11 17:07:35
試占"東南亞風向變了"
;之意象。以東南亞為世。

by CHC
2024-04-11 15:45:55
誰在線上
1 線上使用者 (terence1220), 107 Guests and 23 Spiders online.
Key: Admin, Global Mod, Mod
最新使用者
chin6, kkkkk+, 雪莉羊, 彤彤彤, shya2008
81726 註冊使用者
討論區統計
81727 使用者
54 討論區
220687 議題
2140293 文章

最高線上使用者: 1162 @ 2018-05-29 02:51:45

本站是個命理討論的園地,如果您要問命,請務必詳閱各板板規,遵守發問規則,不要只留個生日或是命盤, 其他什麼都沒提。貼命盤的方法請特別注意算完命盤後的文字說明,不要貼個沒人看懂歪七扭八的命盤, 貼錯命盤及未遵守板規者,文章很有可能被不預警刪除 另外,如果您提了問題,而有人回覆的話,不論對與錯,請務必多上來回應論命者, 我們不歡迎那種提了問題就等人回答,也不回應的人。我們需要的是,「良好的互動」及「長期的追蹤」。
本站大多數的討論區都得要註冊才能發言,您若是要張貼討論,請務必註冊為使用者, 如果您忘了您的密碼,請在登入」的畫面, 輸入您的帳號,再按一下我忘記我的密碼了」, 此時系統會寄一封信到您當時註冊的 Email 信箱裡面, 裡面則附有一個臨時密碼,請您拿到密碼後用此臨時密碼登入。登入之後可以在 編輯個人檔案」裡面修改成您習慣的密碼。
本站推薦瀏覽器: Firefox Chrome Safari
logo