POST TIME:2017-11-13 00:59
能同時(shí)滿足所有用戶的需求的,在以往,不少人對(duì)DedeCms性能問(wèn)題表示懷疑,因此本人在此發(fā)布一篇關(guān)于如何對(duì)性能進(jìn)行優(yōu)化的文章,并提供最終優(yōu)化效果測(cè)試結(jié)果。
一、修改系統(tǒng)參數(shù)
在 DedeCms V5.3中,涉及生成HTML性能的主要有下面幾個(gè)參數(shù):
1、核心設(shè)置:
關(guān)鍵字替換(是/否)使用本功能會(huì)影響HTML生成速度(cfg_keyword_replace)
這個(gè)參數(shù)默認(rèn)是開(kāi)啟的,建議文章是采集的用戶不要開(kāi)啟此選項(xiàng),因?yàn)椴杉奈恼卤仨毶婕白詣?dòng)生成關(guān)鍵字問(wèn)題,這樣不少關(guān)鍵字毫無(wú)意義,甚至?xí)衼y碼導(dǎo)致生成中斷,所以建議把這個(gè)參數(shù)給關(guān)閉。
2、性能選項(xiàng):
調(diào)用緩存更新時(shí)間(秒,0表示不啟用): 10000 cfg_index_cache
是否啟用模板緩存: 是 cfg_tplcache
這兩個(gè)參數(shù)相當(dāng)有意義,在 DedeCms 中,最影響性能的標(biāo)簽是 arclist 這個(gè)標(biāo)簽,此外模板緩存是否開(kāi)啟也相當(dāng)重要,這兩個(gè)選項(xiàng)就是處理這些問(wèn)題的。
系統(tǒng)參數(shù)具體推薦修改如下圖:
二、優(yōu)化數(shù)據(jù)庫(kù)
1、 dede_archives
這個(gè)表有 PRIMARY、sortrank、mainindex、lastpost ,四組索引,實(shí)際上因?yàn)檫@個(gè)表本身很少,設(shè)置過(guò)多的索引反而沒(méi)多大的必要,由于dedecms里的程序默認(rèn)都是用sortrank這字段排序的,建議保留PRIMARY、sortrank兩個(gè)索引,刪除mainindex、lastpost,具體操作如下圖:
2、dede_arctiny
這個(gè)表相當(dāng)?shù)男。跍y(cè)試中,7萬(wàn)數(shù)據(jù),這個(gè)表才占1.5M左右,實(shí)際本身就已經(jīng)相當(dāng)?shù)男?,因此不必建立索引,所以刪除下面索引:
經(jīng)過(guò)上面的優(yōu)化之后,用7萬(wàn)數(shù)據(jù)左右的教育類文章測(cè)試(數(shù)據(jù)庫(kù)800M左右),在奔騰E、2G內(nèi)存、普通SATA硬盤環(huán)境中測(cè)試,生成速度如下圖:
因?yàn)镈edeCms生成機(jī)制前后速度都差不多的,因此速度穩(wěn)定在每秒 15 篇左右,當(dāng)然這個(gè)數(shù)字和用戶模板標(biāo)簽調(diào)用數(shù)量有一定的關(guān)系,但按這個(gè)速度,每小時(shí)可以達(dá)到 5萬(wàn)篇以上,這樣還是相當(dāng)理想的。
可能很多站長(zhǎng)會(huì)問(wèn),為什么不測(cè)試百萬(wàn)、千萬(wàn)級(jí)的數(shù)據(jù)呢?
實(shí)際上,按這個(gè)數(shù)據(jù)量,如果達(dá)到百萬(wàn),數(shù)據(jù)庫(kù)將達(dá)到10G之巨,千萬(wàn)級(jí)的更上100G,像某些CMS吹的已經(jīng)通過(guò)了千萬(wàn)級(jí)測(cè)試,就讓他們?nèi)ゴ蛋桑?00G數(shù)據(jù),再加上圖片,生成的HTML是什么概念,是這些普通硬盤、奔騰E的機(jī)子可以做的事情?因此拿10萬(wàn)級(jí)的數(shù)據(jù)測(cè)試更有代表性,對(duì)于真正做正規(guī)站的人,而且以后確實(shí)做得很大了,升級(jí)一下硬件應(yīng)該沒(méi)什么問(wèn)題的吧,此外那些在虛擬主機(jī)下的用戶當(dāng)然不可能達(dá)到這個(gè)速度的了,但這可以作為一個(gè)性能優(yōu)化參考性的依據(jù)吧。