腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

[织梦] 帝国cms、织梦cms、phpcms等负载测试总结

2
回复
1681
查看
[复制链接]

765

主题

779

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
33029
发表于 19-4-7 14:00:43 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
) _/ q% F* Q) }5 Y- _ " d6 t% `0 h' V

  担心被骂,本不想写这篇文章。夷由很久,终极照旧决定写。渴望可以大概资助到一些朋侪,熟悉到数据库索引准确操持的告急性。

3 i; u- g3 T0 a- c* @9 Y) o0 F7 v

  由于我比力懒,就简朴用笔墨形貌一下,就懒得切图片证实了,懂技能的朋友可以自己测试一下,可证明我的测试效果是否真实。不懂技术的朋友信不信也无妨。

- I1 {9 \2 c( {2 J

  测试步调:

$ j* K) h: i, L8 d

  CMS程序:帝国cms dedecms phpcms

7 t8 q4 a# q( m* ?$ n

  论坛程序:discuz phpwind xiuno

# }" Y, l6 E: I6 a+ E' h5 ?

  负载测试结果:

+ W8 |2 g1 O8 H- S2 n. G( \3 D: D

  xiuno > discuz > phpwind > phpcms > ( 帝国cms ? dedecms)

/ V7 M$ \; f6 ]- a

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

. H6 I1 b# [& S( Y

  xiuno > (discuz 、 phpwind 、 phpcms) > (帝国cms 、 dedecms)

2 g6 ] _, L9 V( J2 l0 I# p

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

4 ]# ^" n6 E8 U, ?! S

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

" o* ]6 J$ q( s! A

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

7 y5 G3 t; `8 z9 j* X& G

  我的测试情况:

! {. y0 |0 S, Q' a. r$ \

  i3CPU 4G内存 1T硬盘 win7体系 apache 2.2 + mysql 5.0(寻常环境没有优化过)

8 w8 C% k7 B! S1 H( B- v2 n! h) _' U

  测试方法:

! j4 x5 k1 z6 h' `! L( j2 d0 z+ r

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

4 ^0 ~. ?8 c0 |% Z# o0 K' O- ?* @7 H4 m

  我的导入方法:

) B9 S- b6 P" B- l" k8 d: M

  根据各个程序的数据布局写出导入程序,

0 s, w$ b) c/ K4 o$ q3 v

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

& _7 A3 K- p. G; N: }

  2.然后再通过 LOAD DATA local INFILE 'e:/insert1.sql' INTO TABLE `数据表名` character set 编码; 这种方式导入的,导入千W数据也就几分钟。

1 X* L2 [) ?4 y3 p# b3 F

  1、帝国cms

# @+ G' b9 }, T) b+ K9 P

  测试版本:EmpireCMS_7.0_SC_GBK (当前官方最新版)

' b2 N0 N5 @* ~: p1 { I0 |

  先说说帝国cms,官方有一篇大数据测试贴(2万万数据、17.3GB数据库下帝国CMS超强天生速率 ),当年我看到这篇测试贴时,也以为负载非常强盛,但我测试后,令我扫兴了。

8 b. I; ]% {6 G' w; W1 n9 ]

  安装默认测试数据(共33篇消息测试数据),首页改为动态首页 第一次访问0.670127010345459 第二次访问0.07926607131958

) J; `- D* S, d0 L

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

0 [% O H- m' Q/ x& w; J

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

& c4 V0 m! z/ _9 L' W# M

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

0 U7 j4 K: k8 X6 R+ M9 N9 B

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

`* i& {3 ?9 j+ r k2 T( P: B

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

, J' n x0 j, Y& K/ `# [( G

  问题4.同时由于phome_ecms_news表 id 为主键,读取内容时,都是走的索引,以是动态访问内容页,编辑内容,生成内容页很快,都是天经地义的。

$ Z6 S& }0 O5 v" }, w) |+ ^

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

& h# @2 \, d# {

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

2 u w3 d( }% L

  2、dedecms

) L6 X- @ Z0 i" v. U" k

  测试版本:DedeCMS V5.7 SP1_GBK正式版 (当前官方最新版)

S1 X; k0 ], b: Z; k

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

! c7 ^+ I- X7 G. e0 E U2 B: Q3 x

  我导入100W数据时,数据库大小只有330M,首页访问已经必要70几秒-80几秒才气访问。

1 g- f M# o) }" T1 h" }8 l

  3、phpcms

4 M. [) [, N3 Q+ {/ b1 u9 @

  测试版本:PHPCMS V9_GBK 正式版 (当前官方最新版)

% S3 y: @3 } l

  PHPCMS现在是由新的团队重新开发,也是号称高负载。

: a! ?! g: d- o/ E2 h$ z S! \6 X

  我导入100W数据时,数据库大小3G,首页访问需要20几秒。

' g. R! K/ l4 Y) D6 ]: k& d# z+ C d

  4、phpwind

6 ^: Z* o6 v0 f0 r- j5 V

  测试版本:phpwind v9.0 UTF-8 正式版(当前官方最新版)

6 |! h- B' \3 O

  phpwind从前和discuz比,速度上有上风,现在听说是全新开发,新版确实做了很大的改变(以前一直是discuz跟随者,和discuz设计差别不是很大),现在这一变化,应该值的歌颂,但现在速度上不如discuz了,以前网页底部体现执行时间都去掉了。

4 ?0 @/ R$ R4 V1 t/ j5 q' c1 Y, C5 [

  我导入1000W数据时,数据库大小13G,

$ V2 }+ p, {1 U4 c: |

  首页第一次访问8秒,第二次访问0.70477390289307秒

* R: j& M- K8 ~% `

  帖子列表页(默认排序)0.2x-0.5x秒 但我接纳按“最新发贴”排序时,花了182秒才显示出来(我看了数据库设计,因为只做了按“末了复兴”的索引,“发帖时间”的排序都没做索引,所以才很慢)

8 C2 f& p3 L1 w4 Y% @

  帖子内容页,没添补多少回帖也没详细测试

2 x- I# Q1 s4 X

  5、discuz

! m% Y% x) u* A2 ? y! v

  测试版本:Discuz_X2.5_SC_UTF8 Discuz_X3.0_SC_UTF8

! ~( g3 R9 }% |* U5 [+ Z

  dx3看来是dx2.5的增强版,从配景、前台设计看,都变化不大。数据库架构变化也不大。

6 I7 T7 \8 d& {, V" ^: X

  我导入1000W数据时,数据库大小18G,

" ?% {$ T# |+ v) `! {

  首页0.05-0.06秒,(也没太大测试代价,因为都没读到thread表)

; C! V% L) ~( ~1 _% @4 F; n/ l1 o6 k

  帖子列表页(默认排序)0.07-0.09秒 但我采用按“发帖时间”排序时,花了181秒才显示出来(我看了数据库设计,因为只做了按“最后回复”的索引,“发帖时间”的排序都没做索引,所以才很慢)

& b1 B. O+ \* p+ T

  帖子内容页,(没填充多少回帖也没具体测试)

+ `# P6 p$ j; d

  6、xiuno

, A6 r, u1 _/ l$ L

  测试版本:xiuno bbs 2.02 UTF8

: o( y; m0 Y" K/ o

  我导入1000W数据时,数据库大小15G

9 M7 z) G; [) k

  首页0.03-0.05秒

& T# F# z4 M2 ?1 Q) X% ]

  帖子列表页0.03-0.05秒(回贴排序) 0.01-0.03秒(发帖排序)

* @1 d) t1 U6 ^: u( R- b& p7 I7 D0 m

  帖子内容页0.03-0.05秒 (没填充多少回帖也没具体测试翻页)

( q# l. s3 K H

  我导入1亿数据时,数据库填充到215G

! ]' p, H) @, P( @3 Y

  首页0.05-0.08秒

! ^# T( N! v' y

  帖子列表页0.05-0.08秒(回贴排序) 0.03-0.05秒(发帖排序)

2 H9 U% B7 {0 S( j2 p$ O: W( q

  帖子内容页0.05-0.08秒 (没填充多少回帖也没具体测试翻页)

. O, B5 f# I& b4 l! ~

  总结:

. q* C$ R6 K. t+ y* Y1 q

  xiuno 虽然负载很高,但是功能上有很大的控制,去掉了很多可能影响到性能的功能,功能方面我觉得要是能有一个像wordpress这样的一个平台来增补,那将会有非常大的优势。

8 F9 }. `0 D2 @6 C

  discuz 虽然没做深入测试,不外已经可见负载上面还是有缺陷的,同时thread表设计为 tid mediumint(8) UNSIGNED 所以最大数值也就16777215,所以他的设计也并没有往更高思量。

, u& Q4 k8 D+ n0 R+ E: ^- j

  phpwind 这次的新版本的改变,证明确他们的刻意,要和discuz走差别的路,也能看出来他们更注意用户体验方面。程序性能已经次之。

* k5 K% U% Q& }' s E! l

  phpcms 性能是比以条件升了,但是用户体验我是感觉不太好。不过能够分析CMS性能方面不如BBS程序。因为排序方式多,而且同一个页面列表也比论坛的多,所以让CMS性能不如BBS。

8 P+ U2 [6 @) \ b

  帝国cms 虽然程序官方一直夸大负载,但真还不如phpcms,光是通过分表进步负载,真不是一个好办法。我个人愚见,程序负载高不高,第一步应该是正确设计索引,索引都没设计对,就用分表来办理,而且还要站长手动设置,完全增长使用难度。

/ W, @) `$ }9 f) M+ [

  dedecms 虽然用户量非常大,但数据库设计真欠好,不光索引没设计对,而且还没分表,而且也能看出dedecms并没有考虑做高负载,毕竟上百W级数据的网站很少。

1 `, T- {+ [2 v% t3 p" _: _! s ! V, l7 D5 ^* O % e3 L4 m( k* d

0

主题

11

帖子

32

积分

1°伸手党

Rank: 2

积分
32
发表于 19-9-23 00:25:48 | 显示全部楼层         
好好 学习了 确实不错
回复

使用道具 举报

0

主题

8

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 19-9-27 20:43:54 | 显示全部楼层         
帮帮顶顶!!
回复

使用道具 举报

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除