歡迎光臨, 訪客. 請先 登入註冊一個帳號.
四月 20, 2024, 02:32:12 上午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
  列出文章
頁: 1 ... 6 7 [8]
106  測試 / LifeType 1.0 測試 / 分享Dabu網誌pLog 0.32升1.0 Beta 0318的經驗 於: 三月 19, 2005, 01:45:17 上午
前言:
由於pLog 0.32效能太差,儘管調校了mysql等治標的方法,最後在db連線數及主機記憶體仍負荷不了,幾度想要廢服務。但想到mark那麼用心推廣plog,我不能成為pLog社群的失敗例子,因此決定冒然升級為1.0Beta(總比服務暫停好)。

步驟:
1.抓取最新的plog-dev版本(如0318),並進行初次安裝,了解一下plog 1.0的運作設定差異(table數=25)。
2.發現官方plog 1.0 template升級,我最喜歡grey這模版,因為簡單。但grey很醜又不能隨lcd解析度變化(常版塊擠得不像樣),因此改了css及template細微地方,你可在下列網址抓取我改的結果:
http://dabu.twbbs.org/plog/index.php?blogId=1
3.備份0.32 db(table數=24)。,升級第一次的升級(update),結果出現:
Error creating table: Table 'plog_article_categories_link' already exists
Error creating table: Table 'plog_custom_fields_definition' already exists
Error creating table: Table 'plog_custom_fields_values' already exists
Error creating table: Table 'plog_articles_text' already exists
Error modifying table Articles: Duplicate key name 'blog_id_slug_category_id'
Error modifying table Article Categories: Duplicate key name 'mangled_name'
Error modifying table User Comments: Duplicate key name 'article_id'
Error modifying table Notifications: Duplicate key name 'blog_id'
Error modifying table Blogs: Duplicate key name 'mangled_blog'
name 'user_id_permission_id'

原來是之前為0.32 db加上index的原因,用下列語法來解除index:
ALTER TABLE plog_articles DROP INDEX num_reads, DROP INDEX category_id, DROP INDEX blog_id, DROP INDEX user_id;
ALTER TABLE plog_articles_categories DROP INDEX blog_id;
ALTER TABLE plog_articles_comments DROP INDEX parent_id, DROP INDEX article_id;
ALTER TABLE plog_articles_notifications DROP INDEX article_id, DROP INDEX user_id, DROP INDEX blog_id;
ALTER TABLE plog_bayesian_filter_info DROP INDEX blog_id; ALTER TABLE plog_bayesian_tokens DROP INDEX blog_id;
ALTER TABLE plog_blogs DROP INDEX owner_id;
ALTER TABLE plog_filtered_content DROP INDEX blog_id;
ALTER TABLE plog_gallery_albums DROP INDEX parent_id, DROP INDEX owner_id;
ALTER TABLE plog_gallery_resources DROP INDEX album_id, DROP INDEX owner_id;
ALTER TABLE plog_host_blocking_rules DROP INDEX blog_id;
ALTER TABLE plog_mylinks DROP INDEX blog_id, DROP INDEX category_id;
ALTER TABLE plog_mylinks_categories DROP INDEX blog_id;
ALTER TABLE plog_myrecent DROP INDEX blog_id, DROP INDEX category_id, DROP INDEX user_id;
ALTER TABLE plog_myrecent_categories DROP INDEX blog_id;
ALTER TABLE plog_referers DROP INDEX blog_id, DROP INDEX article_id;
ALTER TABLE plog_trackbacks DROP INDEX article_id;
ALTER TABLE plog_users_permissions DROP INDEX blog_id, DROP INDEX user_id, DROP INDEX permission_id;

4. 進入資料庫升級階段,它叫我等一回,但我等了10分鐘還沒動作,被騙了><
之前就看到一次處理500文章數的文章,我想問題可能出現在wizard.php
搜尋:
define( "WIZARD_MAX_RECORDS_PER_STEP", 500);
define( "WIZARD_MAX_RECORDS_THRESHOLD", 1000);
第二行是主因,因我的原db文章超過1000,這兩行我改了100及999999

5.再還原去除index之後的db,重跑一次,順利升級!! (感動!)
(table數=28)。

6.將0.32的gallery/目錄overwrite 1.0的。

7.進入管理介面,在原db相同設定下(url等等),設定值幾乎不用調。我把重點放在頁面快取(cache),在確定模版不會更改下(被效能拖怕了),切換至:
管理面版 » Dabu/Blog網誌 » 全部站台管控 » 模版設定
設定以下的值:

template_compile_check = false
停用此功能時,Smarty只有在模版有更改時才會重新產生頁面。停用此功能可以提高系統效能。(更改模版時要重置一下)

template_cache_enabled = true
啟用模版快取功能。啟用此功能,快取的版本將會持續被使用,而不需要對資料庫進行資料存取的動作。
template_cache_lifetime = -1
快取存活時間(單位:秒).設為-1快取將永不過期,或設為0來關閉快取功能。
 
template_http_cache_enabled = true
是否啟用對HTTP連結要求的快取支援。啟用此功能pLog只會傳送必要的內容,可以節省網路頻寬。

8.user要面對的是模板(template),因為策略上要改濾,前版本我採用mark的最新回響/訪客統計之plugin,也採用reic的menu影子,但在beta下一方面可能有bug或常需要更動php,且對1.0 plugin不了解(也沒測試),而且版本間的差異與模版的契合度也是個問題,因此正式版前暫且不加進去(但會去實驗測試)。

結論:
以上是我的升級經驗,雖然很雜,但透露的訊息也有些小用處啦。至目前,我尚未觀察主機的記憶體使用度及db連線數狀態,希望plog 1.0能解決之前的效能困境。
107  測試 / LifeType 1.0 測試 / 從0.3.2升級遇到的Error Message 於: 三月 18, 2005, 04:43:47 下午
引用自: reic
引用自: mht

我也有升級,但是因為之前在 table 有加入 index key ,也會出現類似的問題,有 create index 的時候就掛了,然後就會 dectect 不到新建的資料表。


我也有為了效能而新增0.32的index key
也遇到相同問題
後來reic有升級成功嗎?

移除index key語法為何?!
108  測試 / LifeType 1.0 測試 / 在 1.0 中防制 Spammer 的措施! 於: 三月 05, 2005, 08:46:50 下午
最近我的plog網站也被這spam迴響給佔襲
待1.0釋出來,再來好好整治它們...

mark所提的,大概都夠了...
109  測試 / LifeType 1.0 測試 / [建議]pLog的文章觀看身份限制功能?! 於: 三月 05, 2005, 08:43:00 下午
現在的MSN Spaces已經把「新文章」的提醒掛在msn list上了
除此之外,它可以根據帳號來判斷是否讓該人看其網誌文章?!

很多站友也一直反應,plog的文章能否限制某些人才能觀看?!
對於查看權限的思考角度:
1.社區網誌附有讓訪客註冊viewer的功能,特殊功能可綁上這個。
2.文章附設查看的pwd。

若從這兩面,應該可達到文章查看限制的功能。
不曉得pLog 1.0會做到這樣嗎?

很多人不敢po文章都是怕生活心事被某些人獲知呀...
110  支援 / 使用與操作 / pLog v0.32的連線數攻擊 於: 二月 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的順序了!
111  測試 / LifeType 1.0 測試 / pLog 1.0 Beta Rev 1858 公開測試站台 於: 二月 15, 2005, 04:34:28 下午
Mark辛苦了,感謝你一直為pLog努力!
112  開發 / 核心補強 / 强烈建议PLOG生成静态HTML页面 於: 二月 15, 2005, 04:23:50 下午
真的很期待pLog 1.0的效能提昇,因為已是忍受很久了...
113  支援 / 使用與操作 / pLog v0.32的連線數攻擊 於: 二月 15, 2005, 04:06:17 下午
針對plog的問題,我目前先置換pLog的database核心版本(adodb v4.6)
再觀察看看!

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

最後再不行,只好加大mysql的MaxConnection值,把原先的100再調大!
114  支援 / 使用與操作 / pLog v0.32的連線數攻擊 於: 二月 15, 2005, 03:47:52 下午
最近我的mysql資料庫常常連線數滿載(Too many connections)
造成pLog及相關使用程式的崩潰...
查詢了mysql連線數監控程式,發現它滿載了,
但全部來自plog的操作,可能被攻擊...

畫面如下:


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

不曉得大家是否也發生這問題?!
115  支援 / 使用與操作 / 資料庫出錯? 於: 二月 15, 2005, 03:41:26 下午
這問題以後我就發現到了,
pLog 0.3.2在多人存取下,很容易讓MySQL連線數滿載,
可能與它使用my_pconnect()有關...
116  測試 / LifeType 1.0 測試 / 是否有官方測試站台? 於: 二月 03, 2005, 04:06:47 下午
謝謝囉,您辛苦了...
117  測試 / LifeType 1.0 測試 / 是否有官方測試站台? 於: 二月 03, 2005, 03:44:37 下午
能否由官方或主辦人架設一個plog 1.0測試站台讓大家測試?
這樣就不用每個人都要灌一套測試...

測試總是會先從功能面,才會慢慢注意到安裝及權限等細節
希望有個demo站台。
頁: 1 ... 6 7 [8]