歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 23, 2024, 02:29:16 下午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  支援  |  使用與操作  |  pLog v0.32的連線數攻擊 « 上篇主題 下篇主題 »
頁: [1]
作者 主題: pLog v0.32的連線數攻擊  (閱讀 17725 次)
TomexOu
一般會員
***
文章: 117



檢視個人資料
« 於: 二月 15, 2005, 03:47:52 下午 »

最近我的mysql資料庫常常連線數滿載(Too many connections)
造成pLog及相關使用程式的崩潰...
查詢了mysql連線數監控程式,發現它滿載了,
但全部來自plog的操作,可能被攻擊...

畫面如下:


很早就發現plog頁面的訪客數plugin很多,
大部分來自google或yahoo的搜尋,甚至也被自動貼文程式干擾
不曉得是否是pLog使用 mysql_pconnect(),容易造成佔住連線?!
若改使用一般連線模式(單純connect)可解決呢?

不曉得大家是否也發生這問題?!
已記錄

我的LifeType測試環境:
Win2003 R2 Enterprise/IE7.0/XAMPP with Apache 2.2.6 + PHP 5.2.4 + MySQL 5.0.45 /LifeType 1.2.5/GD2.0/Grey Template
Dabu網誌
TomexOu
一般會員
***
文章: 117



檢視個人資料
« 回覆文章 #1 於: 二月 15, 2005, 04:06:17 下午 »

針對plog的問題,我目前先置換pLog的database核心版本(adodb v4.6)
再觀察看看!

若仍crashed,將會採用mysql_connect()來取代原先的mysql_pconnect()函式
雖然會每頁new新的連線,效能差了點,但至少不會佔住連線數process!

最後再不行,只好加大mysql的MaxConnection值,把原先的100再調大!
已記錄

我的LifeType測試環境:
Win2003 R2 Enterprise/IE7.0/XAMPP with Apache 2.2.6 + PHP 5.2.4 + MySQL 5.0.45 /LifeType 1.2.5/GD2.0/Grey Template
Dabu網誌
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #2 於: 二月 15, 2005, 06:01:59 下午 »

你的這兩個問題應該都是0.32 有的『大問題』,你可以試著用 http://forum.lifetype.org.tw/index.php?topic=23.0 這裏的方法試試看。

Mark

** 已經被念了很多次 pLog 的 DBA 不太行。 pLog 程式架構很好(個人認為),但是 DBA 太差,因為我們這群人對DB都不專精,真希望有人幫忙來看看, Review  一下。  吐舌頭
已記錄

TomexOu
一般會員
***
文章: 117



檢視個人資料
« 回覆文章 #3 於: 二月 15, 2005, 08:36:16 下午 »

感謝markwu的指點,看了上述的文章及far大大的說明
我做了下面的事情來改善plog的效能:

1.更新adodb元件的版本為4.6
2.為plog的tables加上index。
3.調校mysql的效能, 參考far大大的說明,再比對mysql.ini的預設值,加上:
low-priority-updates=ON
set-variable=join_buffer_size=16M
set-variable=max_connections=500
set-variable=wait_timeout=30
query_cache_size=128M

經過以上改進,rendering plog的頁面仍很慢,
可能是query語法的原罪及smarty效能,期待plog 1.0趕緊釋出!
但我會再繼續觀察一陣子,是否仍會佔滿連線的問題。

假如再不濟,只好換掉mysql_pconnect()了,
儘管持續連結有它的好處

這一事件讓我對mysql的調校及連線有比較大的認識,
另外資料庫的query的確要多加注意,以前在上高等資料庫課程時,
單是算join的交集的數學運算式,就讓我們不敢隨便亂寫query的順序了!
已記錄

我的LifeType測試環境:
Win2003 R2 Enterprise/IE7.0/XAMPP with Apache 2.2.6 + PHP 5.2.4 + MySQL 5.0.45 /LifeType 1.2.5/GD2.0/Grey Template
Dabu網誌
joe
新手見習
*
文章: 1


檢視個人資料
« 回覆文章 #4 於: 二月 22, 2005, 04:42:07 下午 »

第一次裝PLOG時就遇到這各問題,PLOG是預設用保持連結pconnect,所以會造成連結數過多的問題,人數過多就會造成無法連結資料庫的問題,若只是去提高MYSQL的連結數,仍是治標不治本的方法
解決的方法是將mysql_pconnect改成mysql_connect
你只要找到class/database/adodb/drivers/adodb-mysql.inc.php
理面有兩各部份是用mysql_pconnect,把它改成mysql_connect
已記錄

威博達虛擬主機
30分鐘內建立您了購物車、XOOPS、PLOG
http://webdsn.net
頁: [1]
LifeType 中文開發論壇  |  支援  |  使用與操作  |  pLog v0.32的連線數攻擊 « 上篇主題 下篇主題 »
    前往: