当前位置:首页 > CMS教程 > DeDecms > 列表

对帝国cms、dedecms、phpcms等负载测试总结

发布:smiling 来源: PHP粉丝网  添加日期:2019-04-30 14:39:21 浏览: 评论:0 

担心被骂,本不想写这篇。犹豫良久,最终还是决定写。希望能够帮助到一些朋友,认识到数据库索引正确设计的重要性。

由于我比较懒,就简单用文字描述一下,就懒得切图片证明了,懂技术的朋友可以自己测试一下,可证实我的测试结果是否真实。不懂技术的朋友信不信也无妨。

测试程序

CMS程序 帝国cmsdedecmsphpcms

论坛程序 discuzphpwindxiuno

负载测试结果

xiunodiscuzphpwindphpcms帝国cms?dedecms

从数据库设计来看个人观点

xiunodiscuz、phpwind、phpcms帝国cms、dedecms

dedecms和帝国cms都是老牌的CMS了,从的数据库设计来看,不知是数据库设计者完全没有理解mysql索引的真谛,还是留一手以对高负载需求的用户收费改进?希望不懂技术的朋友不要喷我,真正懂mysql索引的朋友可以自己看一下他们对索引的设计,虽然对于dedecms和帝国cms的作者来说,我只是一个晚辈,像您们这样有10多年开发经验的人,我比较尊敬,但我建议当前的dedecms和帝国cms数据库设计者还是再研究一下mysql索引吧,可以不相信我,但可以花点时间看看discuz、phpwind的数据库设计吧,确实是比您们的好。

如果有幸帝国cms作者能看到此文,希望您再重新设计帝国cms架构吧,毕竟这些年您一直在改进帝国cms的负载能力,光是通过分表技术提升,没有真正用到索引来优化,真的不行的,如果用对了索引,性能还会有更大的提升。

dedecms的创始人我算是和他认识,但现在dedecms却不是他的,比较遗憾,现在的dedecms这几年确实没多大变化,一直在打补丁,这样下去真是比较悲剧。

我的测试环境

i3CPU4G内存1T硬盘win7系统apache2.2+mysql5.0普通环境没有优化过

测试方法

导入100万至1亿不等数据,进行简单的访问测试

我的导入方法

根据各个程序的数据结构写出导入程序,

1.先写一个PHP程序,将数据写入e:insert1.sql这个文件,

2.然后再通过LOADDATAlocalINFILE'e:insert1.sql'INTOTABLE`数据表名`characterset编码;这种方式导入的,导入千W数据也就几分钟。

1、帝国cms

测试版本 EmpireCMS_7.0_SC_GBK当前最新版

先说说帝国cms,有一篇大数据测试贴2千万数据、17.3GB数据库下帝国CMS超强生成速度,当年我看到这篇测试贴时,也觉得负载非常强大,但我测试后,令我失望了。

安装默认测试数据共33篇新闻测试数据,改为动态第一次访问0.5459第二次访问0.958

我导入100W数据时,数据库大小3.6G,第一次访问182秒,第二次访问155秒,我不知道当时帝国cms作者测试时,是否有测试过动态访问的时间。包括从6.0版起,每次更新都有说提升性能,但为何会这样?

帝国CMS的测试帖,就是误导人,忽悠人。

问题1.测试数据并没有提到动态访问或是生成。也没有提到动态访问列表页,和生成列表页。

问题2.测试统计的时间,也只统计了连接数据库之后的执行时间,并没有加上连接数据库的时间,这样很容易误导很多人,拿这个时间和别人统计了连接数据库的时间比。这样就差别大了。

问题3.每篇新闻的内容很少也就几行字。同时内容页模板,也非常简单,生成出来的文件也非常小,只有3K。正常的,都是上10K至几十K。

问题4.同时因为phome_ecms_news表id为主键,读取内容时,都是走的索引,所以动态访问内容页,编辑内容,生成内容页很快,都是理所当然的。

问题5.测试时都是通过分表来测试的,在真实站长做,不可能一开始就把内容分表。所以这和真实做站情况完全不一样。

像这种测试贴,真是误导人,而且还挂了几年。对于不懂技术的人,就是一种误导,让普通用户盲目的崇拜。

2、dedecms

测试版本 DedeCMSV5.7SP1_GBK正式版当前最新版

织梦CMS在知度CMS中一直公认的负载性能最差的CMS,确实很差。

我导入100W数据时,数据库大小只有330M,访问已经需要70几秒80几秒才能访问。

Tags: 帝国cms dedecms phpcms

分享到: