騰訊科技訊 4月7日,在今日召開的第七屆站長(zhǎng)大會(huì)“互聯(lián)網(wǎng)產(chǎn)品與創(chuàng)新高峰論壇”上,Discuz! 產(chǎn)品總監(jiān)李國(guó)德向大家介紹了Discuz!X2.5的改進(jìn)情況,他表示,Discuz!X2.5功能改進(jìn)是197項(xiàng),主要涉及數(shù)據(jù)庫(kù)操作的317個(gè)程序文件,4525處代碼片斷修改,DB類文件217個(gè)。
以下為演講實(shí)錄:
2012第七屆中國(guó)互聯(lián)網(wǎng)站長(zhǎng)年會(huì)今天在北京國(guó)際會(huì)議中心召開。會(huì)議主題為“借船出海謀發(fā)展 共贏社區(qū)云時(shí)代”,議題包含“借平臺(tái)創(chuàng)業(yè) ”、“移動(dòng)新機(jī)遇”、“共贏云時(shí)代”等。
李國(guó)德:謝謝各位來賓,謝謝各位站長(zhǎng)。我用一個(gè)比較簡(jiǎn)短的時(shí)間向大家描述一下Discuz!X2.5我們所做的改進(jìn)。
首先我們一起來看一下Discuz!X2.5的一些數(shù)字。功能改進(jìn)是197項(xiàng),主要涉及數(shù)據(jù)庫(kù)操作的317個(gè)程序文件,4525處代碼片斷修改,DB類文件217個(gè)。研發(fā)耗時(shí)我們使用了5個(gè)月的時(shí)間進(jìn)行代碼的研發(fā)和架構(gòu)改造,歷經(jīng)了頒布的發(fā)布,當(dāng)然前面還有內(nèi)測(cè),三個(gè)月的時(shí)間來進(jìn)行產(chǎn)品的完善。
新改變最多的還是圍繞架構(gòu)和性能,其次是應(yīng)用和升級(jí),接下來是新功能的元素。
為什么我們要花這么大的力量來進(jìn)行數(shù)據(jù)層的改進(jìn)?我通過四個(gè)點(diǎn)來回答這個(gè)問題。
因?yàn)槲覀兊墓δ芤M(jìn)行模塊化和插件化,通過封裝的API就可以避免Discuz!不兼容,這個(gè)插件可以無成本低來使用Discuz!內(nèi)制的性能優(yōu)化體制,包括內(nèi)存的優(yōu)化,內(nèi)存緩存的使用,多服務(wù)器部署等特點(diǎn)。同時(shí)我們對(duì)數(shù)據(jù)的寫入進(jìn)行了統(tǒng)一的安全處理,這樣可以讓你的插件變得更加安全。
第二點(diǎn),我們讓數(shù)據(jù)表全面支持內(nèi)存緩存。在之前X2的版本里面,如果你想給Discuz!加內(nèi)存的緩存支持是非常困難的,因?yàn)樗臄?shù)據(jù)的讀寫是分散在不同的程序文件里面,這樣你給每個(gè)表要加緩存的話,你要改大量的分見。所以在封裝的體系下增加緩存的功能就非常簡(jiǎn)單,而且我們已經(jīng)內(nèi)置了緩存的支持。
這個(gè)圖它表達(dá)了緩存加入以后,對(duì)你的數(shù)據(jù)庫(kù)負(fù)載減輕的原理,就是用戶讀寫會(huì)同時(shí)更新緩存和數(shù)據(jù)庫(kù),但是讀只從緩存里面讀,你的數(shù)據(jù)庫(kù)夠變成了一個(gè)數(shù)據(jù)的備份體,它不會(huì)承載讀的壓力,就減少數(shù)據(jù)庫(kù)鎖等等的性能的問題。
這個(gè)圖就是我們新的版本里面,對(duì)內(nèi)存的一些設(shè)置,整個(gè)內(nèi)存包括各種表,用戶表,主題表,等等都可以進(jìn)行緩存的啟用。
數(shù)據(jù)表需要支持分服務(wù)器部署,和內(nèi)存緩存一樣,在以往的數(shù)據(jù)架構(gòu)里面,分散的數(shù)據(jù)讀寫,導(dǎo)致如果想對(duì)一個(gè)單臺(tái)服務(wù)器部署是不可能的,主題表就是孤立的一個(gè)文件,你就可以把主題表放在一臺(tái)服務(wù)器上,你可以把一個(gè)用戶表放在一臺(tái)服務(wù)器上,這樣你可以根據(jù)你的網(wǎng)站的負(fù)載壓力,來決定你的服務(wù)器的部署方案。
第四點(diǎn),是寫入數(shù)據(jù)更安全。之前的版本我們Discuz!有一個(gè)機(jī)制,就是把頁面的變量進(jìn)行了統(tǒng)一的處理。這樣的化會(huì)導(dǎo)致漏洞的出現(xiàn),現(xiàn)在我們把數(shù)據(jù)安全處理,放在數(shù)據(jù)存儲(chǔ)的最底層,你只要經(jīng)過這個(gè)接口,我們就可以進(jìn)行安全的檢查,讓你的程序更安全。
在新的版本里面,我們做了一些優(yōu)化,第一個(gè)就是針對(duì)用戶表,這是我們針對(duì)我們跟一些比較大型的網(wǎng)站進(jìn)行數(shù)據(jù)挖掘得到的一個(gè)數(shù)據(jù),這些主流的網(wǎng)站里面,90天未訪問的用戶,82%的用戶90天沒有訪問,這個(gè)數(shù)據(jù)比較驚人的在于,365天沒有來的占60%,大部分網(wǎng)站60%的用戶是一年沒有來的。
我們的用戶優(yōu)化的思路就在這里,我們希望我們認(rèn)為70%的用戶都是僵尸用戶,它大大占據(jù)了你服務(wù)器的存儲(chǔ),或者數(shù)據(jù)庫(kù)壓力的平衡點(diǎn),我們產(chǎn)品里面就引入了一個(gè)新的機(jī)制,我們把用戶進(jìn)行了存檔,把活躍的用戶放入內(nèi)存緩存,存的數(shù)據(jù)當(dāng)用戶自己來登陸的時(shí)候,我們會(huì)把僵尸用戶變成活躍用戶,放進(jìn)高速緩存里面,這樣讓你網(wǎng)站的負(fù)載壓力大大減少,而且把你服務(wù)器的優(yōu)勢(shì)都提供給活躍用戶,這是我們第一個(gè)優(yōu)化思路。
第二個(gè),是我們對(duì)主題查看數(shù)的更新做了優(yōu)化,以往Discuz!產(chǎn)品里面,很多站長(zhǎng)比較頭疼的問題,特別對(duì)一些尤其活躍的網(wǎng)站來說,它在一分鐘之內(nèi)會(huì)無數(shù)的主題被查看,我們每隔幾分鐘在準(zhǔn)點(diǎn)的時(shí)候進(jìn)行批量更新,在更新的時(shí)候會(huì)造成數(shù)據(jù)庫(kù)的壓力。我們針對(duì)這點(diǎn)進(jìn)行了優(yōu)化,我們新增了一個(gè)臨時(shí)表,這個(gè)表是時(shí)時(shí)更新的,你在前端看起來的查看數(shù)是完整無缺的,但是這個(gè)臨時(shí)表我們也增加了一個(gè)定時(shí)定期定量的同步一個(gè)機(jī)制,來解決這個(gè)主題查看數(shù)更新的問題。
第三個(gè)問題,也是很多網(wǎng)站頭疼的問題,就是高樓帖的問題,尤其在舉辦活動(dòng),或者當(dāng)你網(wǎng)站的用戶特別活躍的時(shí)候,比如可能很多人去過一些小米網(wǎng)站,你一個(gè)帖子發(fā)出來以后,瞬間可能就一百個(gè)扉頁沒了,這種網(wǎng)站它的負(fù)載壓力還是非常頭疼的一個(gè)問題。因?yàn)檫@個(gè)問題是它自己本身的問題,他的機(jī)制當(dāng)(英語)越靠后的時(shí)候壓力越大。
我們?cè)谛碌臋C(jī)制里面,我們引入了一個(gè)直接定位的概念,無論你的扉頁是第幾頁,我們會(huì)直接找到開始標(biāo)位,直接進(jìn)行一個(gè)查詢,這樣就避免了這個(gè)壓力。
這幾點(diǎn),也是大家非常關(guān)注的一些性能優(yōu)化點(diǎn),針對(duì)DIY這塊,因?yàn)樗鼪]有用到MySQL的縮印,避免帶來的(英語)的壓力。
同時(shí)我們針對(duì)點(diǎn)評(píng),評(píng)分,使用頻繁的網(wǎng)站來說,也進(jìn)行了內(nèi)存的引入,來解決性能問題。
我再給大家介紹一下我們新版里面的一個(gè)改進(jìn),叫用戶中心,可以讓站長(zhǎng)非常方便的通過用戶中心找到自己想要的拓展功能,包括點(diǎn)評(píng),包括插件的兼容性,一目了然。在介紹頁面里面大家可以看到這個(gè)插件有多少人點(diǎn)評(píng)了,有多少人關(guān)注,都可以一目了然。
在Discuz!X2.5沒有發(fā)布之前,都是基于測(cè)試版提供的,所以那個(gè)數(shù)據(jù)也并不是一個(gè)大普及的數(shù)據(jù),但是在我們測(cè)試的情況下取得的數(shù)據(jù)還是非常樂觀的。我們?cè)诮衲?月份剛剛推出,到1月中旬就有2276個(gè)網(wǎng)站使用了用戶中心,截止到3月中旬,已經(jīng)達(dá)到15199個(gè)站點(diǎn),這個(gè)藍(lán)線就是代表每月的用戶中心站點(diǎn)使用量。應(yīng)用的安裝量到目前為止達(dá)到53102次,平均每個(gè)網(wǎng)站安裝3.85個(gè)應(yīng)用。紅線就是應(yīng)用的安裝次數(shù),大家可以看到紅線,在今天中午之后,這個(gè)紅線基本上成為豎線。
推薦閱讀
戴志康:移動(dòng)互聯(lián)網(wǎng)對(duì)社區(qū)的發(fā)展利弊并存
騰訊科技訊 4月7日消息,康盛公司總裁戴志康( 微博 )表示,康盛科技正在積極布局移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù),推出的移動(dòng)互聯(lián)網(wǎng)產(chǎn)品掌上論壇正在不斷優(yōu)化中。戴志康認(rèn)為,移動(dòng)互聯(lián)網(wǎng)對(duì)社區(qū)的發(fā)展是契機(jī)與危機(jī)并存。 戴志康稱,移>>>詳細(xì)閱讀
本文標(biāo)題:Discuz!產(chǎn)品總監(jiān)李國(guó)德:新版功能改進(jìn)197項(xiàng)
地址:http://m.sdlzkt.com/a/kandian/20120407/48902.html