国产999精品久久久久久-国产欧美综合一区二区三区-国产精品无码专区-亚洲色精品aⅴ一区区三区

2千萬數(shù)據(jù)、17.3GB數(shù)據(jù)庫用帝國CMS6.0分表合理存放
數(shù)據(jù)庫總大小:17.3GB、總記錄數(shù):4千萬零450條、信息數(shù)量:2千萬條、單表最大信息數(shù):400萬條
一、前言:
帝國CMS 6.0版本最重要的升級功能是對系統(tǒng)構架進行升級,構架更加完美、負載容量更大。然而很多人就問,這個全新的構架有多大的魅力、容量是多少?其實我也不能準確的告訴你,因為6.0剛發(fā)布不久并且沒有空閑時間測試,那時我只能告訴你“總體容量可無限放大,單表存放容量是原來的幾十倍、甚至更多,副表數(shù)據(jù)量達到一定大小后可設置分表,副表支持無限分表,因而副表容量是無限的”。然而理論是需要實踐去驗證的,所以趁著這兩天比較空閑試著測試,并且測試結果令我非常吃驚,
在2000萬數(shù)據(jù)中最大的news單表中從50萬導到400萬數(shù)據(jù)無論從生成內(nèi)容頁效率還是管理信息列表竟然沒有多大差別:
單表無論是50萬還是400萬生成5000個內(nèi)容頁速度為:19秒
單表無論是50萬還是400萬后臺管理信息列表速度為:0.009秒


2千萬數(shù)據(jù)、17.3GB數(shù)據(jù)庫用帝國CMS6.0分表合理存放》分成數(shù)個篇章對帝國CMS大數(shù)據(jù)量如何合理存放的進行介紹,整個測試過程都是邊運行邊截圖,采用透明、公開的方式供大家監(jiān)督!如果有誰對測評過程和測評結果有疑問,可以自行參照我們的測試過程搭建類似的測試環(huán)境自己測試和對比測試結果。

下面我們就開始測試:
 
二、測試環(huán)境
1、硬件配置:使用本人工作使用的機器測試,普通的配置


CPU:2.0 GHz

內(nèi)存:1GB

2、軟件環(huán)境:使用無任何優(yōu)化的帝國CMS6.0一鍵安裝包

WINDOWS 2003
APACHE 2.2.4
PHP 5.2.0
MYSQL 5.0.27
ZEND Optimizer 3.2.6
帝國CMS6.0開源版(GBK)
(注:因為只是測試所以采用效率比較一般的WINDOWS平臺,最好的PHP+MYSQL運行環(huán)境建議采用LINUX或UNIX平臺。)
3、截圖工具用PrintScreen屏幕截取+photoshop保存
4、網(wǎng)站存放數(shù)據(jù)欄目限制在12個
5、所有欄目都使用新聞系統(tǒng)模型
6、計算php頁面時間代碼:
在$empire=new mysqlquery();下面加
$stime=microtime(true);
在文件代碼最下面加
<?php
$etime=microtime(true);
$total=$etime-$stime;
echo '<font color=red size=5><b>執(zhí)行時間:'.$total.'秒</b></font>';
?>
7、生成時間查看代碼
date("Y-m-d H:i:s")
 
三、分析2000萬數(shù)據(jù)如何分配
利用帝國CMS的每個欄目都可以單獨使用存放表的特性,我們可以把每個欄目都使用單獨的存放表。也就是建12個相同的新聞表和模型(news~news12)。下面我們來計算下單表的存放數(shù)據(jù)范圍:
1、首先我們可以用取平均值計算單個欄目存儲的數(shù)據(jù)數(shù)量范圍
20000000/12約等于1700000,所以每個欄目只要存儲170萬條數(shù)據(jù)就可以存下2000萬數(shù)據(jù)。
2、根據(jù)我們的硬件環(huán)境條件我們可以計算出比較合理的單表大小范圍
由于我們本機測試,所以2.0GHz的CPU基本可以滿足表讀寫和生成處理。
但由于我們的內(nèi)存只有1GB,除去系統(tǒng)進程開銷、PHOTOSHOP和瀏覽器開銷,剩余出來的數(shù)據(jù)能使用的內(nèi)存應該不足700MB,所以為了保證MYSQL能更快的讀取一個表所有數(shù)據(jù),建議MYSQL單表數(shù)據(jù)不要大于這個內(nèi)存大小。對于帝國CMS來說就是主表的大小不要大于可用內(nèi)存的大小,副表大小倒是其次,因為副表沒有一次讀取的情況,所以保守的估計主表大小最好在500~600MB范圍為佳。
 
四、由于不知道多少數(shù)據(jù)使主表是在500~600MB范圍,所以下面我們要用第一個新聞表來測試
說明:由于是第一次測試所以采用比較保守的增量:以每次插入50萬數(shù)據(jù)測試并查看效果,直到達到最佳的內(nèi)存范圍。
測試項目:后臺管理列表速度及翻頁、修改信息速度、生成速度、動態(tài)內(nèi)容頁查看速度、查看數(shù)據(jù)庫大小
(一)、第一次導入50萬數(shù)據(jù)到news表:
1、導入截圖

2、后臺管理信息列表速度

直接訪問:0.0089秒
翻頁:0.0091秒
3、修改信息頁讀取數(shù)據(jù):0.0051秒
4、生成5000條數(shù)據(jù)
開始生成:

生成過程截圖:

5000條生成時間:18秒
生成后的欄目目錄:
5、測試在使用內(nèi)容動態(tài)頁的數(shù)據(jù)讀取速度:0.0025秒
6、查看50萬下數(shù)據(jù)庫大小:50萬信息,主表大小為67.7MB,第一個副表為370.8MB
 
總結:
參數(shù) 數(shù)據(jù)
信息數(shù): 50萬
后臺管理信息列表速度: 0.0089秒
修改信息頁讀取數(shù)據(jù): 0.0051秒
生成5000條數(shù)據(jù): 18秒
內(nèi)容動態(tài)頁的速度: 0.0025秒
主表phome_ecms_news: 67.7MB
副表phome_ecms_news_data_1: 370.8MB
總數(shù)據(jù)庫大小: 439.2MB

說明:上面每個副表存儲50萬數(shù)據(jù),其實通過整個2000萬數(shù)據(jù)測試后發(fā)現(xiàn)副表存儲100萬數(shù)據(jù)效率也差不多。
 
>>>接下來我們繼續(xù)100萬測試