歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 23, 2024, 10:15:41 上午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  測試  |  LifeType 1.0 測試  |  分享Dabu網誌pLog 0.32升1.0 Beta 0318的經驗 « 上篇主題 下篇主題 »
頁: [1]
作者 主題: 分享Dabu網誌pLog 0.32升1.0 Beta 0318的經驗  (閱讀 23287 次)
TomexOu
一般會員
***
文章: 117



檢視個人資料
« 於: 三月 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能解決之前的效能困境。
已記錄

我的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


檢視個人資料 個人網站
« 回覆文章 #1 於: 三月 19, 2005, 10:24:25 上午 »

Hi tomex_ou:

謝謝分享,記得隨時回報狀況,希望效能是有改善。

ps. 我把這一篇放上精華區了。

Mark
已記錄

vinfu
新手見習
*
文章: 24


檢視個人資料
« 回覆文章 #2 於: 三月 22, 2005, 12:24:41 下午 »


我知道我的問題了
我的資料庫現在是28個項目喔
而且我的是0.3.2版
也就是第一次升級一半失敗後來無法挽救才備分資料庫

有沒有人有語法 可以把資料庫還原成0.3.2阿?
我看我離升級是有很大的一步

每次都死再第二步 真慘

誰能救救我? 嚎啕大哭  嚎啕大哭
已記錄
TomexOu
一般會員
***
文章: 117



檢視個人資料
« 回覆文章 #3 於: 三月 22, 2005, 02:19:08 下午 »

你可以把wizard的debug模式啟用(設定true)
它在升級時會顯示執行指令

第二步只是加新table及設定一些index
尚未真正轉換資料
假如之前在這死掉,可能看wizard它做了什麼
手動把index給去除。

ps.
我當初卡有這兒時,就想用手動sql搬移轉換
但mysql都沒有好一點的匯出入工具
遇到值有單引號或utf-8就錯誤,氣死了~~

還是ms-sql的dts匯出入工具比較好,直接轉換底層的資料
而不用像一般工具都只是背地裏用insert指令等明碼轉換!!
(以上小抱怨啦)
已記錄

我的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


檢視個人資料 個人網站
« 回覆文章 #4 於: 三月 22, 2005, 04:29:50 下午 »

DTS 真的很好用。但是沒辦法用在這。  傷心

Hi vinfu:

你可以把DB記給我研究一下嗎?記得 zip ,要不然太大了。

Mark
已記錄

vinfu
新手見習
*
文章: 24


檢視個人資料
« 回覆文章 #5 於: 三月 22, 2005, 11:08:22 下午 »

DB網址已經用私人訊息傳給你了

檔案有點大

因為有700位使用者4000多篇文章

再次謝謝你喔 開懷大笑
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #6 於: 三月 23, 2005, 11:57:00 上午 »

好!我下午來看。

mark
已記錄

ellenlee
新手見習
*
文章: 10


檢視個人資料
« 回覆文章 #7 於: 三月 23, 2005, 09:34:15 下午 »

給tomex_ou,
謝謝你的解說,讓我這個文章總數超過1000的使用者成功地轉換了版本
雖然轉換後plog還是無法使用,問題還有一堆,但我再慢慢問問題來解決
為了感謝你,我是想先跟你提一點關於db連結數的問題
我曾經在Pesty Rationnel問過保持連結與非保持連結的問題,他的回答讓我的資料庫連結數降低許多,也讓我的主機公司願意讓我擺plog程式
Pesty說的是:
class/database/adodb/drivers/adodb-mysql.inc.php 這個檔裡面有出現過兩次mysql_pconnect 改成 mysql_connect
改掉就可以降低許多資料庫連結數
此討論來自
http://pesty.yichi.org/plog/post/1/155

不好意思我不懂程式,如果有說錯還請見諒
已記錄
TomexOu
一般會員
***
文章: 117



檢視個人資料
« 回覆文章 #8 於: 三月 23, 2005, 11:34:24 下午 »

引用自: ellenlee
Pesty說的是:
class/database/adodb/drivers/adodb-mysql.inc.php 這個檔裡面有出現過兩次mysql_pconnect 改成 mysql_connect
改掉就可以降低許多資料庫連結數


謝謝你的轉敘,這篇文章我有看過,當時我先調校mysql的效能並加上index
但治標的方式最後失敗。

也改預設的pconnect()改成connect(),記憶體用量開始飆升
最後plog 0.32是不會滿連線數,但記憶體過高就停止服務了。

氣了很久,最後才緊急升級為plog 1.0 beta
至目前算是滿意,無論在速度或品質上。
已記錄

我的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


檢視個人資料 個人網站
« 回覆文章 #9 於: 三月 24, 2005, 10:36:30 上午 »

感謝你們忍受這麼久!呵呵!其實我還是必須說, pLog 如果真的要做一個服務 上萬或是數十萬的會員服務。有很多地方必須調整。

除非有更多人用 pLog ,這樣的情形才能更快顯現。否則我們開發團隊在沒有大量測是的資源與支援下,很難發現這些問題。

再次感謝!

Mark
已記錄

頁: [1]
LifeType 中文開發論壇  |  測試  |  LifeType 1.0 測試  |  分享Dabu網誌pLog 0.32升1.0 Beta 0318的經驗 « 上篇主題 下篇主題 »
    前往: