找回密码
 FreeOZ用户注册
12
返回列表 发新帖回复
楼主: key
打印 上一主题 下一主题

[论坛技术] 请教建立网站的方案

[复制链接]
31#
发表于 9-5-2009 21:31:37 | 只看该作者
这个比较的比较全面:joomla-and-drupal-which-one-is-right-for-you

Druapl比Joomla强的地方在:
User Permissions
Content Management
Multisites Management
Documentation
Internationalization
等方面,而且这几点都是LZ比较看重的功能。
就扩展模块来说,Drupal本身就是特别针对扩展性设计的,各种模块数量不仅多,而且质量也很高,更重要的是Drupal针对开发自定义模块的友好性是Joomla所远远不及的。总体来说,Joomla Out-Of-Box的功能比Drupla多,对用户的技术要求比Drupal低,但是功能和可扩展性比Drupal差。不过毫无疑问,2个都是非常优秀的php CMS。
还有一点对开发人员也很重要的是,Drupal的社区非常强大和活跃,开发的RoadMap也很清晰。
回复  

使用道具 举报

32#
发表于 9-5-2009 21:56:42 | 只看该作者
Performance: Drupal vs Joomla!

如果比较关注性能的话,这个图表应该算是比较strong的理由了。
回复  

使用道具 举报

33#
发表于 11-5-2009 17:46:31 | 只看该作者
如果只用cms的话, open cms也是很成熟的cms方案, 问题是java 的虚拟主机相对比难找, open cms用过的人应该也比php的cms 少。
回复  

使用道具 举报

34#
 楼主| 发表于 11-5-2009 17:51:03 | 只看该作者
原帖由 bfox 于 11-5-2009 16:46 发表
如果只用cms的话, open cms也是很成熟的cms方案, 问题是java 的虚拟主机相对比难找, open cms用过的人应该也比php的cms 少。


我简单见识过opencms,基本上不能接受,否则我也不会扬短避长的去找php方案了
回复  

使用道具 举报

35#
发表于 11-5-2009 21:34:22 | 只看该作者
今天,仔细对比了drupal和joomla,下定决心干,joomla了。哈哈,如果楼主决定了用joomla,我们可以一起讨论一下。
回复  

使用道具 举报

36#
发表于 11-5-2009 22:03:20 | 只看该作者
提示: 作者被禁止或删除, 无法发言
我基本就用 dz7+ss7,开源,bbs+cms+blog,
已经有中英版(半官方),日语德语阿拉伯等等....包网友也在开发中
楼主说的都能满足了,
访问量更不成问题了,
看看freeoz有多少人在线就知道了。呵呵
回复  

使用道具 举报

37#
 楼主| 发表于 11-5-2009 23:10:05 | 只看该作者
原帖由 herejingying 于 11-5-2009 21:03 发表
我基本就用 dz7+ss7,开源,bbs+cms+blog,
已经有中英版(半官方),日语德语阿拉伯等等....包网友也在开发中
楼主说的都能满足了,
访问量更不成问题了,
看看freeoz有多少人在线就知道了。呵呵


对于我们混教育网BBS出来的同学来说,freeoz是个小站,哈哈。。。
回复  

使用道具 举报

38#
发表于 11-5-2009 23:19:28 | 只看该作者

回复 #36 herejingying 的帖子

discuz/康盛的东西其实不是开源的,你仔细看看他们的licenses就知道了
顶多是允许你非商用的情况下免费使用而已

康盛所有的产品做多语言都是噩梦,我目前的工作的一部分就是捣鼓ucenter home
回复  

使用道具 举报

39#
发表于 12-5-2009 14:10:43 | 只看该作者
提示: 作者被禁止或删除, 无法发言
我倒,我就是随便举个例子,那discuz.net如何?最高22000人在线。
你自己说的300人就ok,discuz给你都大材小用了
特性要求:

2. 300并发用户访问

原帖由 key 于 11-5-2009 22:10 发表


对于我们混教育网BBS出来的同学来说,freeoz是个小站,哈哈。。。
回复  

使用道具 举报

40#
发表于 12-5-2009 14:39:29 | 只看该作者
提示: 作者被禁止或删除, 无法发言
哈,反正comsenz官方公告天下说他是开源的
多语言做的确实不好,不过好在网友已经弥补了很多

原帖由 ritz 于 11-5-2009 22:19 发表
discuz/康盛的东西其实不是开源的,你仔细看看他们的licenses就知道了
顶多是允许你非商用的情况下免费使用而已

康盛所有的产品做多语言都是噩梦,我目前的工作的一部分就是捣鼓ucenter home
回复  

使用道具 举报

41#
发表于 12-5-2009 15:08:40 | 只看该作者
原帖由 key 于 2009/5/11 21:40 发表


对于我们混教育网BBS出来的同学来说,freeoz是个小站,哈哈。。。


这点确实没说错。
回复  

使用道具 举报

42#
发表于 12-5-2009 15:20:44 | 只看该作者
都是高手
想问问,并发300
就是可以支持同时300人访问?
是这个意思吗?
回复  

使用道具 举报

43#
发表于 12-5-2009 20:08:31 | 只看该作者

回复 #42 lxbtiger 的帖子

差不多,精确的说法应该是同时保持300个活动的链接,和同时在线人数还是不一样的。一个同时在线300人的网站,很可能最高峰的并发度也就是几十到100之间.
回复  

使用道具 举报

44#
发表于 13-5-2009 04:37:35 | 只看该作者
discuz的在线算法一般是算1800秒内有用户request页面的就算,所以总在线人数(注册+非注册)/1800 大约就是网站的并发值
回复  

使用道具 举报

45#
 楼主| 发表于 13-5-2009 13:40:49 | 只看该作者
原帖由 herejingying 于 12-5-2009 13:10 发表
我倒,我就是随便举个例子,那discuz.net如何?最高22000人在线。
你自己说的300人就ok,discuz给你都大材小用了
特性要求:

2. 300并发用户访问



嗯,我也只是开开玩笑,不要介意。

不过就技术角度看,300并发是指300个同时发起的请求,包括300个连接同时访问同一个页面,或随机访问多个页面,
如果站点本身没有做缓冲和平滑的话,这个请求其实有点大了。如果做了缓冲和平滑,响应时间允许为2s,同时300并发为
峰值支持,那么还可以接受。所以,我提出这个性能要求有点高,实际的性能要求只需要30并发应该可以。哪些同学
帮我用随机过程算一下是不是这个数?谢谢

一个web站点的并发访问数只有admin才真正知道。但从发贴量来看,freeoz的确是很小的一个站点,
和那些每秒几百上千个新贴的教育网大站来说,当然是小站啦。

当然我要做的也是一个小站,估计比freeoz还要小几个级别。

以上言论只谈技术问题,没有贬低freeoz的成份。
回复  

使用道具 举报

46#
 楼主| 发表于 13-5-2009 14:15:32 | 只看该作者
原帖由 ritz 于 13-5-2009 03:37 发表
discuz的在线算法一般是算1800秒内有用户request页面的就算,所以总在线人数(注册+非注册)/1800 大约就是网站的并发值


不能这样算吧,hoho~

用 在线人数 / 1800 来算,那是不对的,因为这样的话你假设了这些在线的人在1800s中
各点击了 1 次,显然和实际相差很远。

如果想通过在线人数来估算并发值,需要比较复杂的推算过程:

首先假设每一个访问者的访问行为是随机的,也就是他们的访问合乎正态分布。
为了简化起见,可以假设在1800s里的N个在线用户他们分别发起了X个不同的请求,
并假设论坛+网络响应时间为2s,所以,这N个用户中最大个人访问量为:
1800s / 2s = 900次

设 f(x) = y,其中 y 为访问次数,而 x 为访问了 y 次的人数,
那么 y => ( 1 ~ 900 ), x => ( 1 ~ 300 )

但是,用户的访问极限由服务器+网络的响应来限制,所以我们不能取一个平均值 450
来设计一个概率分布。所以,虽然用户的访问可以用正态分布的随机过程来模拟,
但f(x)还是不能简单的取一个正态分布的曲线。

所以,最好的,也是唯的的办法是找core同学或ub同学问一下,到底论坛的访问峰值是多少?
peak time的访问均值是多少。

[ 本帖最后由 key 于 13-5-2009 13:19 编辑 ]
回复  

使用道具 举报

47#
发表于 13-5-2009 20:55:23 | 只看该作者
谈一下个人观点:
并发是什么?为什么要考虑并发?
给大家分享报告:
测试过程:
每台计算机每隔10分钟同时递增发出20个模拟访问线程,每次持续10分钟,在经过五个半小时的压力测试后,测试计算机群在第34次增加并发线程后,服务器的并发进程达到2040线程/秒。

服务器的技术状态如下:

◇ CPU占用率:83%-98%之间浮动,平均为91%;
◇ 内存使用量:2967M,其中服务器在测试前内存使用520M,(2967-520)/2040=1.2,也就是说每增加一个并发进程,服务器将消耗1.2M的内存;
◇ 服务器数据吞吐:32M/每秒。

测试结论:
在2000用户并发进程内服务器每个并发平均响应时间为:15ns
服务器在超过2000个并发进程后,每增加60个并发,响应时间明显延缓,在并发进程达到2240时,系统平均响应时间为43ns,服务器达到饱和状态,CPU长时间100%占用。按照10%系统资源空闲标准,服务器可以接受2000个用户并发请求处理。

使用同样的方法更换服务器硬件进行并发压力测试,得出以下结论:

◇ XEON 2.8*2,4G memory,SCSI5阵列的服务器可以支持2000个用户并发,支持40000用户+
◇ 单XEON 2.4 1G memory,SCSI5阵列的服务器可以支持800个用户并发,支持16000用户+
◇ P4 2.8G,1G memory,SATA HDD的普通PC可以支持150个用户并发,支持3000用户+

对资源的依赖型的强弱如下:服务器线路>内存>硬盘>总线>CPU

所以单纯的谈并发,意义并不大。必须要结合硬件,前提要排除软件自身死锁或其他bug.
我理解的意思,系统可以同时处理的用户服务请求。
超过最高并发,会引起os级调度,或app级调度问题。

评分

参与人数 1威望 +30 收起 理由
coredump + 30 你太有才了!

查看全部评分

回复  

使用道具 举报

48#
 楼主| 发表于 13-5-2009 21:40:53 | 只看该作者
原帖由 stgeorge 于 13-5-2009 19:55 发表
每台计算机每隔10分钟同时递增发出20个模拟访问线程,每次持续10分钟,在经过五个半小时的压力测试后,测试计算机群在第34次增加并发线程后,服务器的并发进程达到2040线程/秒。


不是太清楚你说的“持续10分钟”是什么意思,应该是类似:
while(get_curr_time() - start_time < 20m) { do_request(); }

简单算了一下,你用3台客户机做模拟。不过我不认为你的服务器在应付2040线程/秒。

在2000用户并发进程内服务器每个并发平均响应时间为:15ns

15ns这个响应时间应该是错的。我这样认为是因为15ns小于一个系统的正常时间片的值,也就是说,
即使请求在一个时间片内完成,N个请求的平均时间也不会是15ns

平均响应时间的计算应该等于sum(t0, t1, ...., tN) / N,你需要准确的获得所有的t值,然后再计算。
我估计你的计算是:T<total> / N<connections> = 15ns,但这个不是平均响应时间。

另一个问题就是这些响应有多少返回了正确值。这个也很重要。系统达到一定访问后,因为connection backlog有限,有些请求会直接deny的,
如果是web服务器,有些响应来不及处理,也会返回40X的错误。

我以前试过用SmartBit来做测试客户机,这东西贵得要命,不过还算好用。
另外有同事试过JMeter之类的。
我自己写过脚本去做这类事,但一般只是测试一下机器死了没有,也就是压力测试,而不是性能测试。

评分

参与人数 1威望 +30 收起 理由
coredump + 30 谢谢分享!

查看全部评分

回复  

使用道具 举报

49#
发表于 13-5-2009 22:30:06 | 只看该作者
这个帖子讨论得真热烈

对于并发访问,我觉得得分不同的情况:
1.访问jpg/css/js/html等静态页面(不包括伪静态页面)
这种情况对服务器的压力主要表现在磁盘响应速度、系统TCP连接数和带宽容量,一般来说只要带宽容量足够的话,使用高效的web服务器(lighttpd、nginx等),1G RAM+2G CPU+SATA硬盘,单台处理1000-5000并发,问题应该不大。

2.访问php动态页面,php不访问数据库
和(1)相比,这个对服务器的负载稍微大一些,主要是对CPU的处理能力要求更高一些,同样的硬件条件,单台服务器处理500-1000并发,也应该很轻松

3.访问php动态页面,php需要访问数据库
这种情况对服务器的负载要求是最大的,主要瓶颈在数据库访问上,特别是如果单个数据表记录达到百万条以上(FreeOZ现在的帖子数达到180w+),索引就会比较大,对内存和CPU处理能力的要求都很高,discuz的代码和数据设计都不算很优化,在上面的硬件资源条件下,内存已经不足了,进行SQL联合搜索的时候,有些SQL指令的执行速度就变得很慢了,甚至超过10+秒才能响应,如果这种查询+某些SQL插入导致数据库部分表被暂时锁住的话,对不起,这台服务器只能响应一个并发。

所以一个php网站要想提高并发访问能力,最主要要提高第三种情况下的网站处理能力(通过优化数据库、增加sql cache服务器、增加服务器内存、改用SAS、SCSI硬盘等),说起来容易,背后的功夫还是挺多的。

对于FreeOZ目前的并发访问情况来说,服务器大部分处理时间都用于第三种情况的处理,平时约5-10并发/秒,确实是个小站

评分

参与人数 2威望 +60 收起 理由
清风不写字 + 30 谢谢分享!
coredump + 30 还是你实战经验丰富!

查看全部评分

回复  

使用道具 举报

50#
发表于 14-5-2009 01:02:13 | 只看该作者
这个贴子我喜欢,学很多东西。
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 24-2-2025 00:05 , Processed in 0.038848 second(s), 37 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表