1 頁 (共 1 頁)

建立搜尋索引資料後庫就死當(已解決)

發表於 : 2008-04-18 15:16
hsiehpc43
●主機作業系統:Linux
●上網方式:ADSL
●安裝的程式:MySql 4.0.27
●phpBB 版本:phpBB 3.0.0
●domain (網域名稱) : biolab123.com
●phpBB 連結網址: http://pg.biolab123.com/ (請務必留下連結)
==================================

我只要一建立搜尋index後,資料庫的讀取馬上破錶--> Too many connections [1040]

使用的是付費主機,Ipower空間,又不能修改Mysql的限制,
網站沒有搜尋功能,會變的很難用,

有沒有其它解決方法? :-(

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-18 21:56
心靈捕手
hsiehpc43 寫:●主機作業系統:Linux
●上網方式:ADSL
●安裝的程式:MySql 4.0.27
●phpBB 版本:phpBB 3.0.0
●domain (網域名稱) : biolab123.com
●phpBB 連結網址: http://pg.biolab123.com/ (請務必留下連結)
==================================

我只要一建立搜尋index後,資料庫的讀取馬上破錶--> Too many connections [1040]

使用的是付費主機,Ipower空間,又不能修改Mysql的限制,
網站沒有搜尋功能,會變的很難用,

有沒有其它解決方法? :-(
那個 'Too many connections' 的訊息, 與是否建立 '搜尋index' 無關.

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-18 22:22
wasabi
從你的論壇上面的討論看來,似乎是主機商的限制呢。
可以考慮升級主機,或是挑在離峰時段再來執行這種相當耗資源的動作。

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-19 19:15
hsiehpc43
自建立搜尋索引後,連續一星期,
每天資料庫都掛點,每天都要再請主機商幫我再啟動。

後來發現只要把搜尋索引清了之後就沒會發生這個問題,
所我才推測是搜尋的問題,
目前版面搜尋功能是找不到東西的。

我只有第一天執徰建立索引這個功能,資料庫重新啟動後都沒有再建立,
所以耗掉大量資源的應只有第一天,
只是建立索引在資料庫資建立大量資料後,就會引起有大量的讀取?

我搜尋設定如下:
後端搜尋:Fulltext native
搜尋索引的最小字元數: 3
搜尋索引的最大字元數: 14
共有字詞門檻: 30%

是每次有人使用搜尋功能時,都會把那一堆索引重頭到尾翻一遍嗎?
或是要怎麼改搜尋設定,可以讓建立的索引數量達最低?

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-19 22:28
心靈捕手
建議您:
(貼圖) 補充說明 -- ACP > 一般 > 負荷設定 / 搜尋設定 的情形.

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-20 11:14
hsiehpc43
感謝心靈老師指點,
我已把目前兩個設定的狀態以圖示表現.
煩請前輩指點迷津 :-D

目前並沒有建立索引,值22是自己跑出來的 :-o

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-20 20:18
doracity
hsiehpc43 寫:●主機作業系統:Linux
●上網方式:ADSL
●安裝的程式:MySql 4.0.27
●phpBB 版本:phpBB 3.0.0
●domain (網域名稱) : biolab123.com
●phpBB 連結網址: http://pg.biolab123.com/ (請務必留下連結)
==================================

我只要一建立搜尋index後,資料庫的讀取馬上破錶--> Too many connections [1040]

使用的是付費主機,Ipower空間,又不能修改Mysql的限制,
網站沒有搜尋功能,會變的很難用,

有沒有其它解決方法? :-(
你還是先用fulltext mysql吧
雖然有很多應該出來的結果也搜不出來, 但起碼不會發生你所說的問題

我想(只是我估計...)可能是因為fulltext native將那些字也用left outer join的關係, 如果你一次過搜尋連續十幾個中文字, 結果就會join 出一個很大的table
因此就會載入很久,
最後那句sql 就會給鎖住
那句sql給鎖住後就使之後的搜尋鎖住
最後一句一句堆上去就變成exceed max user connection

我之前也試過你所說的問題...所以我在很多中文phpbb3也試過, 大部份同樣也是會載入很久也沒有結果出來, 然後就會出500或無法顯示網頁

又或者試試將負荷限制設為低一些?

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-20 22:18
心靈捕手
hsiehpc43 寫:感謝心靈老師指點,
我已把目前兩個設定的狀態以圖示表現.
煩請前輩指點迷津 :-D

目前並沒有建立索引,值22是自己跑出來的 :-o
通常那個 (Too many connections) 訊息, 是因為超過您的負荷設定而產生;
使用者只要稍候, 即可再與論壇連線.

然而, 這個情況與您所謂的 '死當' 意義不同.

不過, 從您的貼圖看來, 相關的負荷設定大都維持預設值;
因此, 也有可能是主機商有做了某些連線的限制.

建議您:
1. '刪除索引' 後, 重新 '建立索引'.
2. 試試修改您的 '一般搜尋設定' 之底下選項, 回預設值.
會員搜尋間隔: 0
訪客搜尋間隔: 0
或者, 可以調小一點. (如竹貓)
會員搜尋間隔: 20
訪客搜尋間隔: 30
3. 請求主機商支援.

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-21 11:01
hsiehpc43
資料庫的問題,應是主機商設有使用限制,
只要一超過限制,就得要和主機商連絡,獲回覆後,才得以恢復。
如遇週末時間,還得等到星期一,(宣稱24hr/7day,真的遇到問題時,確不是如此)
我已經厭煩和主機商如此周旋了。

所以後來將搜尋功能關了,改內嵌google自訂搜尋。
雖然搜尋的準碓度沒有phpBB內鍵的fulltext native好用,
但至少比用fulltext mysql好多了;fulltext mysql跟本找不到東西 :-(

附件:有關google自訂搜尋的相關網,給有需要的人
http://www.google.com/coop/cse/

當然最期待還是能改善phpBB 3的搜尋方式 :-?

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-21 11:26
yehrussell
hsiehpc43 寫:資料庫的問題,應是主機商設有使用限制,
只要一超過限制,就得要和主機商連絡,獲回覆後,才得以恢復。
如遇週末時間,還得等到星期一,(宣稱24hr/7day,真的遇到問題時,確不是如此)
我已經厭煩和主機商如此周旋了。

所以後來將搜尋功能關了,改內嵌google自訂搜尋。
雖然搜尋的準碓度沒有phpBB內鍵的fulltext native好用,
但至少比用fulltext mysql好多了;fulltext mysql跟本找不到東西 :-(

附件:有關google自訂搜尋的相關網,給有需要的人
http://www.google.com/coop/cse/

當然最期待還是能改善phpBB 3的搜尋方式 :-?

我來聲援一下...
phpBB3的搜尋,真的比phpBB2差很多
要不是phpBB3功能多和速度快,真的不想用phpBB3的搜尋
我也加了google自訂搜尋,以補phpBB3的搜尋不足
在下也期待能改善phpBB 3的搜尋方式

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-04-22 07:24
doracity
hsiehpc43 寫:資料庫的問題,應是主機商設有使用限制,
只要一超過限制,就得要和主機商連絡,獲回覆後,才得以恢復。
如遇週末時間,還得等到星期一,(宣稱24hr/7day,真的遇到問題時,確不是如此)
我已經厭煩和主機商如此周旋了。

所以後來將搜尋功能關了,改內嵌google自訂搜尋。
雖然搜尋的準碓度沒有phpBB內鍵的fulltext native好用,
但至少比用fulltext mysql好多了;fulltext mysql跟本找不到東西 :-(

附件:有關google自訂搜尋的相關網,給有需要的人
http://www.google.com/coop/cse/

當然最期待還是能改善phpBB 3的搜尋方式 :-?
其實那是正常的, 大部份主機商也會設這種限制
就是預防你開很多connections
但一般而言, 就算出現此訊息, 只要正在進行當中的connections結束了, 就能自動開回, 不會長期鎖上的
但現在問題就是phpbb3那句sql語法會死鎖掉, 不會結束, 那就要他們幫你kill 了那句正在執行的sql 語法才能開回

Re: 建立搜尋索引資料後庫就死當

發表於 : 2008-06-14 19:03
hsiehpc43
雖然在我改使用google搜尋後,
即使把資料庫以array方式改成多重USER來跑
版面仍是平均二~三天就會出現錯誤訊息,如下:

代碼: 選擇全部

User 'biolab12_pp1' has exceeded the 'max_questions' resource (current value: 50000) [1226]
後來不斷跟主機商說明和反應,某天主機商通知,把我的空間換到新系統後,
果真再也沒有發生了(僅使用單一資料庫user)

這兩個系統在設定上唯一不同的地方是:

舊主機:
在安裝時,伺服器地址或DNA:localhost (自古以來phpBB都教設定localhost即可)
已安裝的可以直接改config.php內的這行

代碼: 選擇全部

$dbhost = '[color=#FF0000]yourDNS.ipowermysql.com[/color]';
新主機:
設定localhost反而找不到資料庫,
要設成'yourDNS.ipowermysql.com'
(這個DNS要跟主機商問,如我這樣寫是不會有用的)

我不是專業人士,不太懂資料庫讀取的邏輯;
不過這對我的網站是有效的就是,提共參考。

Re: 建立搜尋索引資料後庫就死當(已解決)

發表於 : 2008-06-16 16:52
hsiehpc43
今天戰戰競競的把搜尋功能再度開啟,並進行建立索引,
花了快兩個小時才建立完成,都沒有出現任何資料庫超載的問題。 :mrgreen: