[討論] phpBB最有價值的MOD—Cached Generation

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

flyinghail
星球公民
星球公民
文章: 48
註冊時間: 2004-02-10 02:37

[討論] phpBB最有價值的MOD—Cached Generation

文章 flyinghail »

昨天在phpbbstyles看到了DoobDee做的新MOD——Cached Generation,地址:http://www.phpbbstyles.com/viewtopic.php?p=52291,目前還是beta狀態

研究了一下感覺非常有價值,我認爲在phpBB來説其價值遠遠超過了其他MOD,這個MOD修改了db/mysql.php,可以針對任何一次查詢生成緩存,這樣可以大大減少查詢次數,看phpbbstyles.com就可以知道首頁查詢只有3次,而且這個MOD的緩存技術是通用的,任何一句'SELECT'都可以使用,相對于恐怖的Categories Hierarchy(幾乎已經把phpBB改成另一個論壇了)這個MOD使用的緩存技術更通用,而且可以兼容任何的其他MOD

當然緩存不能亂用,否則根本起不到緩存的作用,大家一起研究下吧,像哪幾句查詢需要緩存,如何更好的緩存查詢(就是盡量讓緩存之後存活的時間更長,好比如果首頁不讀取發貼數和新貼、viewforum.php不讀取瀏覽次數、回復數、最後發貼可以讓緩存存活時間更長),如何選擇合適的清理緩存的條件,甚至這個MOD還需要進行什麽樣的處理都是很有價值的討論話題

phpBB之所以比Discuz和phpwind慢,很大一定程度上就是因爲phpBB不存在任何的緩存(當然部分大型MOD的存在也是很重要的因素),Discuz的特色就是在session和cache,phpwind的特色則是除了緩存還利用了部分文本數據庫的技術來加快速度(老的phpwind就是ofstar的MySQL版),如果將這個MOD做好相信phpBB將更有競爭力

這個MOD應該算是那種對於系統影響很大的那一類,如果看不懂MOD每一步在做什麽請不要隨便嘗試用於公開發佈的環境,另外這個MOD可能會生成大量的cache文件,如果沒有好的緩存清理方案,空間不大的不要輕易嘗試,這個MOD目前有一処錯誤看http://www.phpbbstyles.com/viewtopic.php?p=52291#52291,估計是筆誤\r

相信站長們都會喜歡這個MOD的,的確是很有意思的東東 :mrgreen: 絕對有研究價值
Kill
竹貓忠實會員
竹貓忠實會員
文章: 874
註冊時間: 2003-07-31 12:40
來自: CKD Studio
聯繫:

文章 Kill »

等他成熟了再來玩玩看
剛才有看了一下原碼\r
對資料庫讀取應該有很大的幫助 ;-)
喜歡...就是淡淡ㄉ愛... ...則是深深ㄉ喜歡...
圖檔
提供phpBB代架服務以及外掛安裝

有付費服務的問題請移駕至CKD Studio發問 ╮( ̄▽ ̄)╭
俊俊
星球公民
星球公民
文章: 118
註冊時間: 2004-08-15 11:59

文章 俊俊 »

我已經裝好了
不過到處都是 Error 呢...
都是 functions .php / _post.php 出錯的
好像跟簡易子版面撞了
俊俊
星球公民
星球公民
文章: 118
註冊時間: 2004-08-15 11:59

文章 俊俊 »

幸好早已 Backup 了 ==v
還原~~.....

Orz , 裝的時候沒留言到\r
About
This mod is a very powereful mod:
- Caches SQL Queries (faster forum)
- Ads Page generation time (in overall_footer.php) <--
- Ads SQL querie counter (in overall_footer.php) <--筆誤?
- This is a LOT more powerful that Smartors page generation and is highly effecient for forum speed.
- mySQL (not mysql4.php) is supported at the moment
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

算你衰~我安裝成功了!沒有跟任何外掛發生碰撞http://bnb.twbbs.org


This mod is a very powereful mod:
// 應該叫做powerful 意思是說這是一個非常強力的外掛

- Caches SQL Queries (faster forum)
// 高速緩衝SQL Queries(論壇加速)

- Ads Page generation time (in overall_footer.php) <--
// 再overall_footer.php顯示頁面生成時間(我記得通常都已經有了)

- Ads SQL querie counter (in overall_footer.php) <--筆誤?
// 再overall_footer.php顯示讀取資料庫的數量 通常都會有安裝吧!

- This is a LOT more powerful that Smartors page generation and is highly effecient for forum speed.
// 不用說了!還是再說他的加速功能~

- mySQL (not mysql4.php) is supported at the moment
// 有關mySQL的資源~
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

看到安裝時間要80分鐘,整個人都懶了

有很有空很有空閒到不行再來玩玩看吧\r

或者等正式版再來裝..

DZ雖然是混血的,不過DZ的高速,真讓人羨慕阿...
水色論壇 http://www.et99.net
簡德賢分享
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

其實有絕大部分的修正內容都長的一樣~
我只花了2分鐘!那個作者騙你的啦!
吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

w2812451 寫:其實有絕大部分的修正內容都長的一樣~
我只花了2分鐘!那個作者騙你的啦!
那你安裝好之後有感覺到變化嗎 ?
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

w2812451 寫:其實有絕大部分的修正內容都長的一樣~
我只花了2分鐘!那個作者騙你的啦!
2分鐘??
有這麼快嗎 :-o

我剛剛去看了你的網站,首頁是\r
頁面生成時間: 0.0733s (PHP: 100% - SQL: 0%) - 共讀取資料庫: 33 - Gzip 壓縮功能 開啟 - 除錯模式 關閉

33耶 :-o ...還是很高阿\r
我的沒有安裝,才17而已...
一般DZ的論壇是10以下..
水色論壇 http://www.et99.net
簡德賢分享
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

不過速度有加快!而且你要考慮到我裝的外掛很多!
而且它只緩衝了一些地方而已!我覺得還有一堆東西都可以加速~

我認為這個外掛非常適合裝了一大堆外掛造成phpbb變慢的人裝的!
不過如果論壇速度很慢的話,建議也要裝這個!
俊俊
星球公民
星球公民
文章: 118
註冊時間: 2004-08-15 11:59

文章 俊俊 »

functions.php 在裝簡易子版面的時候在 jumpbox 附近被重寫過, 好像這樣會使它不能讀取版面的資料(安裝後)
吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

修改上基本沒什麼問題但是在 db/mysql.php 這段怪怪的 ..
#
#-----[ FIND ]------------------------------------------
#

代碼: 選擇全部

		// Remove any pre-existing queries
		unset($this->query_result);
#
#-----[ AFTER, ADD ]------------------------------------------
#

代碼: 選擇全部

		// Check cache
		$this->caching = false;
		$this->cache = array();
		$this->cached = false;
		if($query !== '' && $cache)
		{
			global $phpbb_root_path;
			$hash = md5($query);
			if(strlen($cache))
			{
				$hash = $cache . $hash;
			}
			$filename = $phpbb_root_path . 'cache/sql_' . $hash . '.php';
			if(@file_exists($filename))
			{
				$set = array();
				include($filename);
				$this->cache = $set;
				$this->cached = true;
				$this->caching = false;
				return 'cache';
			}
//			echo 'cache is missing: ', $filename, '<br />';
			$this->caching = $hash;
		}
		// not cached
//		echo 'sql: ', htmlspecialchars($query), '<br />';
只要一加上該段 index.php 首頁就會版面全部消失@@
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
flyinghail
星球公民
星球公民
文章: 48
註冊時間: 2004-02-10 02:37

文章 flyinghail »

吉川拓也 寫:修改上基本沒什麼問題但是在 db/mysql.php 這段怪怪的 ..
#
#-----[ FIND ]------------------------------------------
#

代碼: 選擇全部

		// Remove any pre-existing queries
		unset($this->query_result);
#
#-----[ AFTER, ADD ]------------------------------------------
#

代碼: 選擇全部

		// Check cache
		$this->caching = false;
		$this->cache = array();
		$this->cached = false;
		if($query !== '' && $cache)
		{
			global $phpbb_root_path;
			$hash = md5($query);
			if(strlen($cache))
			{
				$hash = $cache . $hash;
			}
			$filename = $phpbb_root_path . 'cache/sql_' . $hash . '.php';
			if(@file_exists($filename))
			{
				$set = array();
				include($filename);
				$this->cache = $set;
				$this->cached = true;
				$this->caching = false;
				return 'cache';
			}
//			echo 'cache is missing: ', $filename, '<br />';
			$this->caching = $hash;
		}
		// not cached
//		echo 'sql: ', htmlspecialchars($query), '<br />';
只要一加上該段 index.php 首頁就會版面全部消失@@
不是這裡,是安裝文件的一処錯誤,主題裏面我也提到過了,這一段要是去掉了那等於根本沒有使用緩存
俊俊
星球公民
星球公民
文章: 118
註冊時間: 2004-08-15 11:59

文章 俊俊 »

剛才在自家測試到\r
| Page Generation:0.2071 seconds| SQL Queries:10 |
如果是網上空間應該會更快呢=.=
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

太好用了~剛剛用ultraedit把所有的
if( !($result = $db->sql_query($sql)) )
置換成
if( !($result = $db->sql_query($sql, false, true)) )

再進入的讀取畫面(應該有些人有看過,那是預先瀏覽功能)
的時候會有點LAG
開啟index.php花了1秒多
不過重點來了!我重新開啟後,資料庫從32跑到剩下7
原本紀錄的0.053s變成了0.01s
太快了吧!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
不過再重新開一次,沒用了ˊˋ
可能是...............伺服器凸然秀斗~哈哈
主題已鎖定

回到「外掛問題討論」