全面最佳化V4.0及AJAX標籤提示

來源:互聯網
上載者:User

眾所周知。KesionCMS V4.0無論從功能上,還是從效能上都有了質的飛越。不再是以往版本1秒僅能產生1篇文章的系統了。但近期也發現有部分使用者提到速度並沒有多大提高。現在我大致給大家做個總結。

1、標籤調用不合理

A、自訂靜態標籤(影響最大)

有些使用者為了方便,大量使用了自訂靜態標籤。甚至將整個頁面模板做成一個靜態標籤調用。更可怕的是在自訂靜態標籤裡插入大量的系統函數標籤,自訂SQL標籤等。

經測試如果在自訂靜態標籤裡插入系統函數標籤和自訂sql標籤,系統的產生速度將大打折扣.原因如下:原本只需讀取資料庫進行一次的標籤替換工作,而藉助自訂靜態標籤無形中卻需要最少兩次的標籤替換工作。所以效能下降。

經以上分析:解決方案是盡量少用或不用自訂靜態標籤。絕對不在自訂靜態標籤裡插入系統函數標籤和自訂SQL標籤。

B、自訂SQL標籤

用過自訂SQL標籤的朋友都知道,一個SQL標籤對應一條SQL查詢語句。SQL的構造合理與否直接影響到系統的效能。

舉例如下:

語句一:Select * from ks_article where tid in('欄目ID') order by id desc

語句二:Select top 10 id,title,AddDate From KS_Article Where Tid='欄目ID' order by id desc

並假設迴圈體都如以下:

複製代碼 代碼如下:[loop=10]
<li>
<ahref="{$Field(ID,GetInfoUrl,1,1)}" target="_blank">{$Field(Title,Text,5,...,0,)}</a>({$Field(Adddate,Date,YYYY年MM月DD日)})
</li>
[/loop]

以上程式碼片段中。顯然運行最終效果都一樣,但語句二的執行效率將優於語句一。當你的資料量越多越明顯。這裡就不詳情說明原因了,有興趣的朋友可以參考:http://www.cnblogs.com/xhp5678/archive/2006/07/07/445206.html, http://www.cnblogs.com/oec2003/archive/2007/05/09/740048.html
C.系統函數標籤

KesionCMS系統函數標籤作為入門級標籤,所有代碼都整合在核心代碼的函數內。已在語句上做了大量的最佳化工作了。原則上使用者在使用上也無需注意什麼了。但如果你稍微留意,你就會發現很多標籤都支援通用。細心的朋友會發現標籤屬性裡的”所性欄目”一欄中:分別有”當前欄目(通用)”、”不指定欄目”等。這時你如果指定為當前欄目(通用),那麼你建的這個標籤在本模型裡就是通用標籤了。這樣,你也就無需建大量的標籤。從頁減少資料庫的標籤替換次數.。
2、欄目劃分不合理
有些使用者欄目劃分極其不合理,一個欄目下的文章居然達到幾萬條資料。對於欄目下文章較多,建議將欄目進行細分。V4.0引進了模型,也可以通過自建模型,將資料分布到使用者建的資料表。從而有效減少了單個資料表的壓力.

3、沒有定期對資料庫進行維護

使用Access資料庫的使用者請週期性對資料庫進行壓縮修複,SQL資料庫的使用者可以週期性清除日誌,壓縮等.週期性維護資料庫你也可以發現系統的效能會有所提高.

什麼時候標籤使用Ajax輸出

KesionCMS V4.0獨創引入標籤ajax輸出功能,但有些使用者對此並不瞭解,不清楚的朋友可以在此瞭解http://tech.163.com/05/0908/17/1T55SUPP00091K8Q.html

1、終級列表標籤(分頁標籤)

當網站的欄目資訊不允許別人採集時,可以輸用ajax輸出.

當你的欄目下文章超過1000篇時,可以考慮ajax輸出。原因如下:假設你每頁顯示是20篇。那麼每次產生這個欄目頁就需同時產生1000/20=50個靜態頁面。假如有20個欄目,按全部產生的話,一瞬間就要同時產生50*20=1000個靜態頁面,這時伺服器佔用資源就會急劇增大.造成發布欄目頁很慢。那如果是ajax輸出,每個欄目無論文章數多少,都輸產生一個靜態頁面。其實ajax是無重新整理動態調用的。當你用AJAX輸出時,你在後台添加的新的內容,甚至不需要再產生欄目頁面,因為他會動態更新。

2、最新更新,點擊排行,推薦資訊等調用

當你的內容頁面已產生靜態頁面後,你是否曾經因為內容頁不能自動更新點擊排行,不能自動更新最新添加的文章,不能自動更新推薦資訊而煩惱呢?KesionCMS V4.0引進了ajax輸出,徹底解決了這個問題了。您只需將標籤輸出格式選擇ajax即可。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.